|
GWT 2.7.0 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.gwt.user.client.ui.UIObject com.google.gwt.user.client.ui.Widget com.google.gwt.user.client.ui.MenuBar
public class MenuBar
A standard menu bar widget. A menu bar can contain any number of menu items,
each of which can either fire a Scheduler.ScheduledCommand
or
open a cascaded menu bar.
public class MenuBarExample implements EntryPoint { public void onModuleLoad() { // Make a command that we will execute from all leaves. Command cmd = new Command() { public void execute() { Window.alert("You selected a menu item!"); } }; // Make some sub-menus that we will cascade from the top menu. MenuBar fooMenu = new MenuBar(true); fooMenu.addItem("the", cmd); fooMenu.addItem("foo", cmd); fooMenu.addItem("menu", cmd); MenuBar barMenu = new MenuBar(true); barMenu.addItem("the", cmd); barMenu.addItem("bar", cmd); barMenu.addItem("menu", cmd); MenuBar bazMenu = new MenuBar(true); bazMenu.addItem("the", cmd); bazMenu.addItem("baz", cmd); bazMenu.addItem("menu", cmd); // Make a new menu bar, adding a few cascading menus to it. MenuBar menu = new MenuBar(); menu.addItem("foo", fooMenu); menu.addItem("bar", barMenu); menu.addItem("baz", bazMenu); // Add it to the root panel. RootPanel.get().add(menu); } }
MenuBar elements in UiBinder template files can have a vertical
boolean attribute (which defaults to false), and may have only MenuItem
elements as children. MenuItems may contain HTML and MenuBars.
For example:
<g:MenuBar> <g:MenuItem>Higgledy <g:MenuBar vertical="true"> <g:MenuItem>able</g:MenuItem> <g:MenuItem>baker</g:MenuItem> <g:MenuItem>charlie</g:MenuItem> </g:MenuBar> </g:MenuItem> <g:MenuItem>Piggledy <g:MenuBar vertical="true"> <g:MenuItem>foo</g:MenuItem> <g:MenuItem>bar</g:MenuItem> <g:MenuItem>baz</g:MenuItem> </g:MenuBar> </g:MenuItem> <g:MenuItem><b>Pop!</b> <g:MenuBar vertical="true"> <g:MenuItem>uno</g:MenuItem> <g:MenuItem>dos</g:MenuItem> <g:MenuItem>tres</g:MenuItem> </g:MenuBar> </g:MenuItem> </g:MenuBar>
Nested Class Summary | |
---|---|
static interface |
MenuBar.MenuBarImages
Deprecated. replaced by MenuBar.Resources |
static interface |
MenuBar.Resources
A ClientBundle that contains the default resources for this widget. |
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject |
---|
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled |
Field Summary |
---|
Fields inherited from class com.google.gwt.user.client.ui.Widget |
---|
eventsToSink |
Fields inherited from class com.google.gwt.user.client.ui.UIObject |
---|
DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR |
Constructor Summary | |
---|---|
MenuBar()
Creates an empty horizontal menu bar. |
|
MenuBar(boolean vertical)
Creates an empty menu bar. |
|
MenuBar(boolean vertical,
MenuBar.MenuBarImages images)
Deprecated. replaced by MenuBar(boolean, Resources) |
|
MenuBar(boolean vertical,
MenuBar.Resources resources)
Creates an empty menu bar that uses the specified ClientBundle for menu images. |
|
MenuBar(MenuBar.MenuBarImages images)
Deprecated. replaced by MenuBar(Resources) |
|
MenuBar(MenuBar.Resources resources)
Creates an empty horizontal menu bar that uses the specified ClientBundle for menu images. |
Method Summary | |
---|---|
HandlerRegistration |
addCloseHandler(CloseHandler<PopupPanel> handler)
Adds a CloseEvent handler. |
MenuItem |
addItem(MenuItem item)
Adds a menu item to the bar. |
MenuItem |
addItem(SafeHtml html,
MenuBar popup)
Adds a menu item to the bar, that will open the specified menu when it is selected. |
MenuItem |
addItem(SafeHtml html,
Scheduler.ScheduledCommand cmd)
Adds a menu item to the bar containing SafeHtml, that will fire the given command when it is selected. |
MenuItem |
addItem(java.lang.String text,
boolean asHTML,
MenuBar popup)
Adds a menu item to the bar, that will open the specified menu when it is selected. |
MenuItem |
addItem(java.lang.String text,
boolean asHTML,
Scheduler.ScheduledCommand cmd)
Adds a menu item to the bar, that will fire the given command when it is selected. |
MenuItem |
addItem(java.lang.String text,
MenuBar popup)
Adds a menu item to the bar, that will open the specified menu when it is selected. |
MenuItem |
addItem(java.lang.String text,
Scheduler.ScheduledCommand cmd)
Adds a menu item to the bar, that will fire the given command when it is selected. |
MenuItemSeparator |
addSeparator()
Adds a thin line to the MenuBar to separate sections of
MenuItem s. |
MenuItemSeparator |
addSeparator(MenuItemSeparator separator)
Adds a thin line to the MenuBar to separate sections of
MenuItem s. |
void |
clearItems()
Removes all menu items from this menu bar. |
void |
closeAllChildren(boolean focus)
Closes this menu and all child menu popups. |
(package private) void |
closeAllParents()
|
(package private) void |
closeAllParentsAndChildren()
Closes all parent and child menu popups. |
(package private) void |
doItemAction(MenuItem item,
boolean fireCommand,
boolean focus)
|
void |
focus()
Give this MenuBar focus. |
boolean |
getAutoOpen()
Gets whether this menu bar's child menus will open when the mouse is moved over it. |
int |
getItemIndex(MenuItem item)
Get the index of a MenuItem . |
protected java.util.List<MenuItem> |
getItems()
Returns a list containing the MenuItem objects in the menu
bar. |
(package private) PopupPanel |
getPopup()
Visible for testing. |
protected MenuItem |
getSelectedItem()
Returns the MenuItem that is currently selected (highlighted)
by the user. |
int |
getSeparatorIndex(MenuItemSeparator item)
Get the index of a MenuItemSeparator . |
MenuItem |
insertItem(MenuItem item,
int beforeIndex)
Adds a menu item to the bar at a specific index. |
MenuItemSeparator |
insertSeparator(int beforeIndex)
Adds a thin line to the MenuBar to separate sections of
MenuItem s at the specified index. |
MenuItemSeparator |
insertSeparator(MenuItemSeparator separator,
int beforeIndex)
Adds a thin line to the MenuBar to separate sections of
MenuItem s at the specified index. |
boolean |
isAnimationEnabled()
Returns true if animations are enabled, false if not. |
boolean |
isFocusOnHoverEnabled()
Check whether or not this widget will steal keyboard focus when the mouse hovers over it. |
(package private) void |
itemOver(MenuItem item,
boolean focus)
|
void |
moveSelectionDown()
Moves the menu selection down to the next item. |
void |
moveSelectionUp()
Moves the menu selection up to the previous item. |
void |
onBrowserEvent(Event event)
Fired whenever a browser event is received. |
protected void |
onDetach()
This method is called when a widget is detached from the browser's document. |
protected void |
onEnsureDebugId(java.lang.String baseID)
Affected Elements: -item# = the MenuItem at the specified index.
|
void |
onPopupClosed(PopupPanel sender,
boolean autoClosed)
Deprecated. Use addCloseHandler(CloseHandler) instead |
void |
removeItem(MenuItem item)
Removes the specified menu item from the bar. |
void |
removeSeparator(MenuItemSeparator separator)
Removes the specified MenuItemSeparator from the bar. |
void |
selectItem(MenuItem item)
Select the given MenuItem, which must be a direct child of this MenuBar. |
void |
setAnimationEnabled(boolean enable)
Enable or disable animations. |
void |
setAutoOpen(boolean autoOpen)
Sets whether this menu bar's child menus will open when the mouse is moved over it. |
void |
setFocusOnHoverEnabled(boolean enabled)
Enable or disable auto focus when the mouse hovers over the MenuBar. |
(package private) void |
setMenuItemDebugIds(java.lang.String baseID)
Set the IDs of the menu items. |
(package private) void |
updateSubmenuIcon(MenuItem item)
Show or hide the icon used for items with a submenu. |
Methods inherited from class com.google.gwt.user.client.ui.Widget |
---|
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onLoad, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, sinkEvents, unsinkEvents |
Methods inherited from class com.google.gwt.user.client.ui.UIObject |
---|
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.google.gwt.event.shared.HasHandlers |
---|
fireEvent |
Constructor Detail |
---|
public MenuBar()
public MenuBar(boolean vertical)
vertical
- true
to orient the menu bar vertically@Deprecated public MenuBar(boolean vertical, MenuBar.MenuBarImages images)
MenuBar(boolean, Resources)
vertical
- true
to orient the menu bar verticallyimages
- a bundle that provides images for this menupublic MenuBar(boolean vertical, MenuBar.Resources resources)
vertical
- true
to orient the menu bar verticallyresources
- a bundle that provides images for this menu@Deprecated public MenuBar(MenuBar.MenuBarImages images)
MenuBar(Resources)
images
- a bundle that provides images for this menupublic MenuBar(MenuBar.Resources resources)
resources
- a bundle that provides images for this menuMethod Detail |
---|
public HandlerRegistration addCloseHandler(CloseHandler<PopupPanel> handler)
HasCloseHandlers
CloseEvent
handler.
addCloseHandler
in interface HasCloseHandlers<PopupPanel>
handler
- the handler
public MenuItem addItem(MenuItem item)
item
- the item to be added
MenuItem
objectpublic MenuItem addItem(SafeHtml html, Scheduler.ScheduledCommand cmd)
html
- the item's html textcmd
- the command to be fired
MenuItem
object createdpublic MenuItem addItem(java.lang.String text, boolean asHTML, Scheduler.ScheduledCommand cmd)
text
- the item's textasHTML
- true
to treat the specified text as htmlcmd
- the command to be fired
MenuItem
object createdpublic MenuItem addItem(SafeHtml html, MenuBar popup)
html
- the item's html textpopup
- the menu to be cascaded from it
MenuItem
object createdpublic MenuItem addItem(java.lang.String text, boolean asHTML, MenuBar popup)
text
- the item's textasHTML
- true
to treat the specified text as htmlpopup
- the menu to be cascaded from it
MenuItem
object createdpublic MenuItem addItem(java.lang.String text, Scheduler.ScheduledCommand cmd)
text
- the item's textcmd
- the command to be fired
MenuItem
object createdpublic MenuItem addItem(java.lang.String text, MenuBar popup)
text
- the item's textpopup
- the menu to be cascaded from it
MenuItem
object createdpublic MenuItemSeparator addSeparator()
MenuBar
to separate sections of
MenuItem
s.
MenuItemSeparator
object createdpublic MenuItemSeparator addSeparator(MenuItemSeparator separator)
MenuBar
to separate sections of
MenuItem
s.
separator
- the MenuItemSeparator
to be added
MenuItemSeparator
objectpublic void clearItems()
public void closeAllChildren(boolean focus)
focus
- true to move focus to the parentpublic void focus()
public boolean getAutoOpen()
true
if child menus will auto-openpublic int getItemIndex(MenuItem item)
MenuItem
.
public int getSeparatorIndex(MenuItemSeparator item)
MenuItemSeparator
.
public MenuItem insertItem(MenuItem item, int beforeIndex) throws java.lang.IndexOutOfBoundsException
item
- the item to be insertedbeforeIndex
- the index where the item should be inserted
MenuItem
object
java.lang.IndexOutOfBoundsException
- if beforeIndex
is out of
rangepublic MenuItemSeparator insertSeparator(int beforeIndex)
MenuBar
to separate sections of
MenuItem
s at the specified index.
beforeIndex
- the index where the separator should be inserted
MenuItemSeparator
object
java.lang.IndexOutOfBoundsException
- if beforeIndex
is out of
rangepublic MenuItemSeparator insertSeparator(MenuItemSeparator separator, int beforeIndex) throws java.lang.IndexOutOfBoundsException
MenuBar
to separate sections of
MenuItem
s at the specified index.
separator
- the MenuItemSeparator
to be insertedbeforeIndex
- the index where the separator should be inserted
MenuItemSeparator
object
java.lang.IndexOutOfBoundsException
- if beforeIndex
is out of
rangepublic boolean isAnimationEnabled()
HasAnimation
isAnimationEnabled
in interface HasAnimation
public boolean isFocusOnHoverEnabled()
public void moveSelectionDown()
public void moveSelectionUp()
public void onBrowserEvent(Event event)
EventListener
onBrowserEvent
in interface EventListener
onBrowserEvent
in class Widget
event
- the event received@Deprecated public void onPopupClosed(PopupPanel sender, boolean autoClosed)
addCloseHandler(CloseHandler)
instead
onPopupClosed
in interface PopupListener
sender
- popup being closed.autoClosed
- true
if the popup was automatically closed;
false
if it was closed programmatically.public void removeItem(MenuItem item)
item
- the item to be removedpublic void removeSeparator(MenuItemSeparator separator)
MenuItemSeparator
from the bar.
separator
- the separator to be removedpublic void selectItem(MenuItem item)
item
- the MenuItem to select, or null to clear selectionpublic void setAnimationEnabled(boolean enable)
HasAnimation
setAnimationEnabled
in interface HasAnimation
enable
- true to enable, false to disablepublic void setAutoOpen(boolean autoOpen)
autoOpen
- true
to cause child menus to auto-openpublic void setFocusOnHoverEnabled(boolean enabled)
enabled
- true to enable, false to disableprotected java.util.List<MenuItem> getItems()
MenuItem
objects in the menu
bar. If there are no items in the menu bar, then an empty List
object will be returned.
MenuItem
objects in the menu barprotected MenuItem getSelectedItem()
MenuItem
that is currently selected (highlighted)
by the user. If none of the items in the menu are currently selected, then
null
will be returned.
MenuItem
that is currently selected, or
null
if no items are currently selectedprotected void onDetach()
Widget
This method is called when a widget is detached from the browser's
document. To receive notification before a Widget is removed from the
document, override the Widget.onUnload()
method or use Widget.addAttachHandler(com.google.gwt.event.logical.shared.AttachEvent.Handler)
.
It is strongly recommended that you override Widget.onUnload()
or
Widget.doDetachChildren()
instead of this method to avoid inconsistencies
between logical and physical attachment states.
Subclasses that override this method must call
super.onDetach()
to ensure that the Widget has been detached
from the underlying Element. Failure to do so will result in application
memory leaks due to circular references between DOM Elements and JavaScript
objects.
onDetach
in class Widget
Widget.onUnload()
,
Widget.doDetachChildren()
protected void onEnsureDebugId(java.lang.String baseID)
MenuItem
at the specified index.
onEnsureDebugId
in class UIObject
baseID
- the base ID used by the main elementUIObject.onEnsureDebugId(String)
void closeAllParents()
void closeAllParentsAndChildren()
void doItemAction(MenuItem item, boolean fireCommand, boolean focus)
PopupPanel getPopup()
void itemOver(MenuItem item, boolean focus)
void setMenuItemDebugIds(java.lang.String baseID)
baseID
- the base IDvoid updateSubmenuIcon(MenuItem item)
item
- the item with or without a submenu
|
GWT 2.7.0 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |