Package com.vaadin.client.ui
Class VMenuBar
- java.lang.Object
-
- com.google.gwt.user.client.ui.UIObject
-
- com.google.gwt.user.client.ui.Widget
-
- com.google.gwt.user.client.ui.Panel
-
- com.google.gwt.user.client.ui.SimplePanel
-
- com.vaadin.client.ui.SimpleFocusablePanel
-
- com.vaadin.client.ui.VMenuBar
-
- All Implemented Interfaces:
com.google.gwt.event.dom.client.FocusHandler
,com.google.gwt.event.dom.client.HasBlurHandlers
,com.google.gwt.event.dom.client.HasFocusHandlers
,com.google.gwt.event.dom.client.HasKeyDownHandlers
,com.google.gwt.event.dom.client.HasKeyPressHandlers
,com.google.gwt.event.dom.client.KeyDownHandler
,com.google.gwt.event.dom.client.KeyPressHandler
,com.google.gwt.event.logical.shared.CloseHandler<com.google.gwt.user.client.ui.PopupPanel>
,com.google.gwt.event.logical.shared.HasAttachHandlers
,com.google.gwt.event.shared.EventHandler
,com.google.gwt.event.shared.HasHandlers
,com.google.gwt.user.client.EventListener
,com.google.gwt.user.client.ui.AcceptsOneWidget
,com.google.gwt.user.client.ui.HasOneWidget
,com.google.gwt.user.client.ui.HasVisibility
,com.google.gwt.user.client.ui.HasWidgets
,com.google.gwt.user.client.ui.HasWidgets.ForIsWidget
,com.google.gwt.user.client.ui.IsWidget
,Focusable
,SubPartAware
,Iterable<com.google.gwt.user.client.ui.Widget>
public class VMenuBar extends SimpleFocusablePanel implements com.google.gwt.event.logical.shared.CloseHandler<com.google.gwt.user.client.ui.PopupPanel>, com.google.gwt.event.dom.client.KeyPressHandler, com.google.gwt.event.dom.client.KeyDownHandler, com.google.gwt.event.dom.client.FocusHandler, SubPartAware
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VMenuBar.CustomMenuItem
A class to hold information on menu items
-
Field Summary
Fields Modifier and Type Field Description static String
CLASSNAME
Set the CSS class name to allow styling.ApplicationConnection
client
For internal use only.VMenuBar
collapsedRootItems
For internal use only.protected com.google.gwt.dom.client.Element
containerElement
static com.google.gwt.user.client.Command
emptyCommand
An empty command to be used when the item has no command associatedboolean
enabled
For internal use only.VMenuBar
hostReference
For internal use only.boolean
htmlContentAllowed
For internal use only.protected ArrayList<VMenuBar.CustomMenuItem>
items
protected boolean
menuVisible
VMenuBar.CustomMenuItem
moreItem
For internal use only.boolean
mouseDownPressed
boolean
openRootOnHover
For internal use only.protected VMenuBar
parentMenu
protected VOverlay
popup
protected VMenuBar.CustomMenuItem
selected
protected boolean
subMenu
Widget fieldsstatic String
SUBMENU_CLASSNAME_PREFIX
String
uidlId
For server connections.protected VMenuBar
visibleChildMenu
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addItem(VMenuBar.CustomMenuItem item)
Add a new item to this menuvoid
addItem(VMenuBar.CustomMenuItem item, int index)
VMenuBar.CustomMenuItem
addItem(String html, com.google.gwt.user.client.Command cmd)
Add a new item to this menuString
buildItemHTML(UIDL item)
Build the HTML content for a menu item.void
clearItems()
Remove all the items in this menuprotected VOverlay
createOverlay()
Create an overlay for the menu bar.protected int
getCloseMenuKey()
Get the key that closes the menu.com.google.gwt.user.client.Element
getContainerElement()
Returns the containing element of the menuList<VMenuBar.CustomMenuItem>
getItems()
Returns a list of items in this menuVMenuBar.CustomMenuItem
getMenuItemWithElement(com.google.gwt.dom.client.Element element)
Get menu item with given DOM elementVMenuBar.CustomMenuItem
getMenuItemWithElement(com.google.gwt.user.client.Element element)
Deprecated.As of 7.2, call or overridegetMenuItemWithElement(Element)
insteadprotected int
getNavigationDownKey()
Get the key that moves the selection downwards.protected int
getNavigationLeftKey()
Get the key that moves the selection left.protected int
getNavigationRightKey()
Get the key that moves the selection right.protected int
getNavigationSelectKey()
Deprecated.useisNavigationSelectKey(int)
insteadprotected int
getNavigationUpKey()
Get the key that moves the selection upwards.VMenuBar
getParentMenu()
Returns the parent menu of this menu, or null if this is the top-level menuVMenuBar.CustomMenuItem
getSelected()
Returns the currently selected item of this menu, or null if nothing is selectedcom.google.gwt.user.client.Element
getSubPartElement(String subPart)
Locates an element inside a component using the identifier provided insubPart
.String
getSubPartName(com.google.gwt.user.client.Element subElement)
Provides an identifier that identifies the element within the component.boolean
handleNavigation(int keycode, boolean ctrl, boolean shift)
Handles the keyboard events handled by the MenuBarvoid
hideChildMenu(VMenuBar.CustomMenuItem item)
Hides the submenu of an itemvoid
hideChildren()
Recursively hide all child menusvoid
hideChildren(boolean animateIn, boolean animateOut)
Recursively hide all child menusvoid
hideParents(boolean autoClosed)
Recursively hide all parent menusvoid
iLayout()
void
iLayout(boolean iconLoadEvent)
protected boolean
isNavigationSelectKey(int keycode)
Checks whether key code selects a menu item.void
itemClick(VMenuBar.CustomMenuItem item)
When an item is clickedvoid
itemOut(VMenuBar.CustomMenuItem item)
When the mouse is moved away from an itemvoid
itemOver(VMenuBar.CustomMenuItem item)
When the user hovers the mouse over the itemvoid
onBrowserEvent(com.google.gwt.user.client.Event e)
void
onClose(com.google.gwt.event.logical.shared.CloseEvent<com.google.gwt.user.client.ui.PopupPanel> event)
Listener method, fired when this menu is closedprotected void
onDetach()
void
onFocus(com.google.gwt.event.dom.client.FocusEvent event)
void
onKeyDown(com.google.gwt.event.dom.client.KeyDownEvent event)
void
onKeyPress(com.google.gwt.event.dom.client.KeyPressEvent event)
void
onMenuClick(int clickedItemId)
This is called by the items in the menu and it communicates the information to the servervoid
onShow()
When the menu is shown.void
removeItem(VMenuBar.CustomMenuItem item)
Remove the given item from this menuvoid
setParentMenu(VMenuBar parent)
Set the parent menu of this menuvoid
setSelected(VMenuBar.CustomMenuItem item)
Set the currently selected item of this menuvoid
setStyleName(String style)
void
setStylePrimaryName(String style)
void
showChildMenu(VMenuBar.CustomMenuItem item)
Shows the child menu of an item.protected void
showChildMenuAt(VMenuBar.CustomMenuItem item, int top, int left)
protected void
updateStyleNames()
-
Methods inherited from class com.vaadin.client.ui.SimpleFocusablePanel
addBlurHandler, addFocusHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, focus, setFocus, setTabIndex
-
Methods inherited from class com.google.gwt.user.client.ui.SimplePanel
add, getWidget, iterator, remove, setWidget, setWidget
-
Methods inherited from class com.google.gwt.user.client.ui.Panel
add, adopt, clear, doAttachChildren, doDetachChildren, orphan, remove
-
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, fireEvent, getHandlerCount, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onLoad, onUnload, removeFromParent, setLayoutData, 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, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString
-
-
-
-
Field Detail
-
CLASSNAME
public static final String CLASSNAME
Set the CSS class name to allow styling.- See Also:
- Constant Field Values
-
SUBMENU_CLASSNAME_PREFIX
public static final String SUBMENU_CLASSNAME_PREFIX
- See Also:
- Constant Field Values
-
uidlId
public String uidlId
For server connections.For internal use only. May be removed or replaced in the future.
-
client
public ApplicationConnection client
For internal use only. May be removed or replaced in the future.
-
hostReference
public final VMenuBar hostReference
For internal use only. May be removed or replaced in the future.
-
moreItem
public VMenuBar.CustomMenuItem moreItem
For internal use only. May be removed or replaced in the future.
-
collapsedRootItems
public VMenuBar collapsedRootItems
For internal use only. May be removed or replaced in the future.
-
emptyCommand
public static final com.google.gwt.user.client.Command emptyCommand
An empty command to be used when the item has no command associatedFor internal use only. May be removed or replaced in the future.
-
subMenu
protected boolean subMenu
Widget fields
-
items
protected ArrayList<VMenuBar.CustomMenuItem> items
-
containerElement
protected com.google.gwt.dom.client.Element containerElement
-
popup
protected VOverlay popup
-
visibleChildMenu
protected VMenuBar visibleChildMenu
-
menuVisible
protected boolean menuVisible
-
parentMenu
protected VMenuBar parentMenu
-
selected
protected VMenuBar.CustomMenuItem selected
-
enabled
public boolean enabled
For internal use only. May be removed or replaced in the future.
-
openRootOnHover
public boolean openRootOnHover
For internal use only. May be removed or replaced in the future.
-
mouseDownPressed
public boolean mouseDownPressed
-
htmlContentAllowed
public boolean htmlContentAllowed
For internal use only. May be removed or replaced in the future.
-
-
Constructor Detail
-
VMenuBar
public VMenuBar()
-
VMenuBar
public VMenuBar(boolean subMenu, VMenuBar parentMenu)
-
-
Method Detail
-
setStyleName
public void setStyleName(String style)
- Overrides:
setStyleName
in classcom.google.gwt.user.client.ui.UIObject
-
setStylePrimaryName
public void setStylePrimaryName(String style)
- Overrides:
setStylePrimaryName
in classcom.google.gwt.user.client.ui.UIObject
-
updateStyleNames
protected void updateStyleNames()
-
onDetach
protected void onDetach()
- Overrides:
onDetach
in classcom.google.gwt.user.client.ui.Widget
-
buildItemHTML
public String buildItemHTML(UIDL item)
Build the HTML content for a menu item.For internal use only. May be removed or replaced in the future.
-
onMenuClick
public void onMenuClick(int clickedItemId)
This is called by the items in the menu and it communicates the information to the server- Parameters:
clickedItemId
- id of the item that was clicked
-
getItems
public List<VMenuBar.CustomMenuItem> getItems()
Returns a list of items in this menu
-
clearItems
public void clearItems()
Remove all the items in this menu
-
getContainerElement
public com.google.gwt.user.client.Element getContainerElement()
Returns the containing element of the menu- Overrides:
getContainerElement
in classcom.google.gwt.user.client.ui.SimplePanel
- Returns:
-
addItem
public VMenuBar.CustomMenuItem addItem(String html, com.google.gwt.user.client.Command cmd)
Add a new item to this menu- Parameters:
html
- items textcmd
- items command- Returns:
- the item created
-
addItem
public void addItem(VMenuBar.CustomMenuItem item)
Add a new item to this menu- Parameters:
item
-
-
addItem
public void addItem(VMenuBar.CustomMenuItem item, int index)
-
removeItem
public void removeItem(VMenuBar.CustomMenuItem item)
Remove the given item from this menu- Parameters:
item
-
-
onBrowserEvent
public void onBrowserEvent(com.google.gwt.user.client.Event e)
- Specified by:
onBrowserEvent
in interfacecom.google.gwt.user.client.EventListener
- Overrides:
onBrowserEvent
in classcom.google.gwt.user.client.ui.Widget
-
itemClick
public void itemClick(VMenuBar.CustomMenuItem item)
When an item is clicked- Parameters:
item
-
-
itemOver
public void itemOver(VMenuBar.CustomMenuItem item)
When the user hovers the mouse over the item- Parameters:
item
-
-
itemOut
public void itemOut(VMenuBar.CustomMenuItem item)
When the mouse is moved away from an item- Parameters:
item
-
-
showChildMenu
public void showChildMenu(VMenuBar.CustomMenuItem item)
Shows the child menu of an item. The caller must ensure that the item has a submenu.- Parameters:
item
-
-
showChildMenuAt
protected void showChildMenuAt(VMenuBar.CustomMenuItem item, int top, int left)
-
createOverlay
protected VOverlay createOverlay()
Create an overlay for the menu bar. This method can be overridden to use a custom overlay.- Returns:
- overlay to use
- Since:
- 7.6
-
hideChildMenu
public void hideChildMenu(VMenuBar.CustomMenuItem item)
Hides the submenu of an item- Parameters:
item
-
-
onShow
public void onShow()
When the menu is shown.
-
onClose
public void onClose(com.google.gwt.event.logical.shared.CloseEvent<com.google.gwt.user.client.ui.PopupPanel> event)
Listener method, fired when this menu is closed- Specified by:
onClose
in interfacecom.google.gwt.event.logical.shared.CloseHandler<com.google.gwt.user.client.ui.PopupPanel>
-
hideChildren
public void hideChildren()
Recursively hide all child menus
-
hideChildren
public void hideChildren(boolean animateIn, boolean animateOut)
Recursively hide all child menus- Parameters:
animateIn
- enable/disable animate-in animation when hide popupanimateOut
- enable/disable animate-out animation when hide popup- Since:
- 7.3.7
-
hideParents
public void hideParents(boolean autoClosed)
Recursively hide all parent menus
-
getParentMenu
public VMenuBar getParentMenu()
Returns the parent menu of this menu, or null if this is the top-level menu- Returns:
-
setParentMenu
public void setParentMenu(VMenuBar parent)
Set the parent menu of this menu- Parameters:
parent
-
-
getSelected
public VMenuBar.CustomMenuItem getSelected()
Returns the currently selected item of this menu, or null if nothing is selected- Returns:
-
setSelected
public void setSelected(VMenuBar.CustomMenuItem item)
Set the currently selected item of this menu- Parameters:
item
-
-
iLayout
public void iLayout()
-
iLayout
public void iLayout(boolean iconLoadEvent)
-
onKeyPress
public void onKeyPress(com.google.gwt.event.dom.client.KeyPressEvent event)
- Specified by:
onKeyPress
in interfacecom.google.gwt.event.dom.client.KeyPressHandler
-
onKeyDown
public void onKeyDown(com.google.gwt.event.dom.client.KeyDownEvent event)
- Specified by:
onKeyDown
in interfacecom.google.gwt.event.dom.client.KeyDownHandler
-
getNavigationUpKey
protected int getNavigationUpKey()
Get the key that moves the selection upwards. By default it is the up arrow key but by overriding this you can change the key to whatever you want.- Returns:
- The keycode of the key
-
getNavigationDownKey
protected int getNavigationDownKey()
Get the key that moves the selection downwards. By default it is the down arrow key but by overriding this you can change the key to whatever you want.- Returns:
- The keycode of the key
-
getNavigationLeftKey
protected int getNavigationLeftKey()
Get the key that moves the selection left. By default it is the left arrow key but by overriding this you can change the key to whatever you want.- Returns:
- The keycode of the key
-
getNavigationRightKey
protected int getNavigationRightKey()
Get the key that moves the selection right. By default it is the right arrow key but by overriding this you can change the key to whatever you want.- Returns:
- The keycode of the key
-
getNavigationSelectKey
@Deprecated protected int getNavigationSelectKey()
Deprecated.useisNavigationSelectKey(int)
insteadGet the key that selects a menu item. By default it is the Enter key but by overriding this you can change the key to whatever you want.- Returns:
-
isNavigationSelectKey
protected boolean isNavigationSelectKey(int keycode)
Checks whether key code selects a menu item. By default it is the Enter and Space keys but by overriding this you can change the keys to whatever you want.- Parameters:
keycode
-- Returns:
- true if key selects menu item
- Since:
- 7.2
-
getCloseMenuKey
protected int getCloseMenuKey()
Get the key that closes the menu. By default it is the escape key but by overriding this yoy can change the key to whatever you want.- Returns:
-
handleNavigation
public boolean handleNavigation(int keycode, boolean ctrl, boolean shift)
Handles the keyboard events handled by the MenuBar- Parameters:
event
- The keyboard event received- Returns:
- true iff the navigation event was handled
-
onFocus
public void onFocus(com.google.gwt.event.dom.client.FocusEvent event)
- Specified by:
onFocus
in interfacecom.google.gwt.event.dom.client.FocusHandler
-
getSubPartElement
public com.google.gwt.user.client.Element getSubPartElement(String subPart)
Description copied from interface:SubPartAware
Locates an element inside a component using the identifier provided insubPart
. ThesubPart
identifier is component specific and may be any string of characters, numbers, space characters and brackets.- Specified by:
getSubPartElement
in interfaceSubPartAware
- Parameters:
subPart
- The identifier for the element inside the component- Returns:
- The element identified by subPart or null if the element could not be found.
-
getSubPartName
public String getSubPartName(com.google.gwt.user.client.Element subElement)
Description copied from interface:SubPartAware
Provides an identifier that identifies the element within the component. ThesubElement
is a part of the component and must never be null.Note!
getSubPartElement(getSubPartName(element)) == element
is not always true. A component can choose to provide a more generic identifier for any given element if the results of all interactions withsubElement
are the same as interactions with the element identified by the return value. For example a button can return an identifier for the root element even though a DIV inside the button was passed assubElement
because interactions with the DIV and the root button element produce the same result.- Specified by:
getSubPartName
in interfaceSubPartAware
- Parameters:
subElement
- The element the identifier string should uniquely identify- Returns:
- An identifier that uniquely identifies
subElement
or null if no identifier could be provided.
-
getMenuItemWithElement
@Deprecated public VMenuBar.CustomMenuItem getMenuItemWithElement(com.google.gwt.user.client.Element element)
Deprecated.As of 7.2, call or overridegetMenuItemWithElement(Element)
insteadGet menu item with given DOM element- Parameters:
element
- Element used in search- Returns:
- Menu item or null if not found
-
getMenuItemWithElement
public VMenuBar.CustomMenuItem getMenuItemWithElement(com.google.gwt.dom.client.Element element)
Get menu item with given DOM element- Parameters:
element
- Element used in search- Returns:
- Menu item or null if not found
- Since:
- 7.2
-
-