public class AppMenuImpl extends AbstractComponent<JmixMenuBar> implements AppMenu
Modifier and Type | Class and Description |
---|---|
protected class |
AppMenuImpl.MenuItemImpl |
AppMenu.MenuItem
Component.Alignment, Component.BelongToFrame, Component.Disposable, Component.Editable, Component.Focusable, Component.HasCaption, Component.HasDescription, Component.HasIcon, Component.HasXmlDescriptor, Component.Wrapper
HasContextHelp.ContextHelpIconClickEvent
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.String,AppMenu.MenuItem> |
allItemsIds |
protected IconResolver |
iconResolver |
static java.lang.String |
MENU_STYLENAME |
protected MenuBuilder |
menuBuilder |
protected java.util.Map<com.vaadin.ui.MenuBar.MenuItem,AppMenu.MenuItem> |
viewModelMap |
alignment, applicationContext, component, contextHelpIconClickHandler, contextHelpIconClickListener, descriptionAsHtml, element, frame, htmlSanitizerEnabled, icon, ICON_STYLE, id, parent
AUTO_SIZE, AUTO_SIZE_PX, FULL_SIZE
Constructor and Description |
---|
AppMenuImpl() |
Modifier and Type | Method and Description |
---|---|
void |
addMenuItem(AppMenu.MenuItem menuItem)
Add menu item to the end of root items list.
|
void |
addMenuItem(AppMenu.MenuItem menuItem,
int index)
Add menu item to specified position in the root items list.
|
protected void |
assignJTestIds(AppMenu.MenuItem menuItem,
java.lang.String id) |
protected void |
checkItemIdDuplicate(java.lang.String id) |
protected void |
checkItemOwner(AppMenu.MenuItem item) |
AppMenu.MenuItem |
createMenuItem(java.lang.String id)
Create new menu item.
|
AppMenu.MenuItem |
createMenuItem(java.lang.String id,
java.lang.String caption)
Create new menu item.
|
AppMenu.MenuItem |
createMenuItem(java.lang.String id,
java.lang.String caption,
java.lang.String icon,
java.util.function.Consumer<AppMenu.MenuItem> command)
Create new menu item.
|
AppMenu.MenuItem |
createSeparator()
Creates menu separator
|
void |
focus()
Sets focus to this component
|
AppMenu.MenuItem |
getMenuItem(java.lang.String id) |
AppMenu.MenuItem |
getMenuItemNN(java.lang.String id) |
java.util.List<AppMenu.MenuItem> |
getMenuItems() |
java.lang.String |
getStyleName()
Styles implementation is client-type-specific.
|
int |
getTabIndex()
Gets the tabulator index of the
HasTabIndex component. |
protected void |
handleAttach(com.vaadin.server.ClientConnector.AttachEvent event) |
boolean |
hasMenuItems() |
void |
loadMenu()
Load menu structure from
MenuConfig |
protected void |
registerMenuItem(AppMenu.MenuItem menuItem) |
void |
removeMenuItem(AppMenu.MenuItem menuItem)
Remove menu item from the root items list.
|
void |
removeMenuItem(int index)
Remove menu item from the root items list by index.
|
void |
setMenuItemShortcutCaption(AppMenu.MenuItem menuItem,
java.lang.String shortcut)
Sets caption to MenuItem with value of shortcut key combination.
|
void |
setStyleName(java.lang.String name)
Sets one or more style names of the component, replacing any
previous styles.
|
void |
setTabIndex(int tabIndex)
Sets the tabulator index of the
Focusable component. |
protected void |
unregisterItem(AppMenu.MenuItem menuItem) |
addAttachListener, addDetachListener, addStyleName, assignDebugId, attached, detached, getAlignment, getCaption, getComponent, getComposition, getContextHelpIconClickHandler, getContextHelpText, getDebugId, getDescription, getEventHub, getFrame, getHeight, getHeightSizeUnit, getHtmlSanitizer, getIcon, getIconName, getIconResource, getId, getParent, getUiComponentProperties, getUiProperties, getWidth, getWidthSizeUnit, getXmlDescriptor, hasSubscriptions, hasValidationError, isAttached, isCaptionAsHtml, isContextHelpTextHtmlEnabled, isDescriptionAsHtml, isEnabled, isEnabledRecursive, isHtmlSanitizerEnabled, isResponsive, isVisible, isVisibleRecursive, onContextHelpIconClick, publish, removeStyleName, sanitize, setAlignment, setApplicationContext, setCaption, setCaptionAsHtml, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabled, setDebugId, setDescription, setDescriptionAsHtml, setEnabled, setFrame, setHeight, setHtmlSanitizerEnabled, setIcon, setIconFromSet, setId, setParent, setResponsive, setValidationError, setVisible, setWidth, setXmlDescriptor, unsubscribe, unwrap, unwrapComposition, unwrapCompositionOrNull, unwrapOrNull, withUnwrapped, withUnwrappedComposition
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFrame, setFrame
isFocusable, setFocusable
addStyleName, getAlignment, getHeight, getHeightSizeUnit, getId, getParent, getWidth, getWidthSizeUnit, isEnabled, isEnabledRecursive, isResponsive, isVisible, isVisibleRecursive, removeStyleName, setAlignment, setEnabled, setHeight, setHeightAuto, setHeightFull, setId, setParent, setResponsive, setSizeAuto, setSizeFull, setVisible, setWidth, setWidthAuto, setWidthFull, unwrap, unwrapComposition, unwrapCompositionOrNull, unwrapOrNull, withUnwrapped, withUnwrappedComposition
@Autowired protected MenuBuilder menuBuilder
@Autowired protected IconResolver iconResolver
protected java.util.Map<java.lang.String,AppMenu.MenuItem> allItemsIds
protected java.util.Map<com.vaadin.ui.MenuBar.MenuItem,AppMenu.MenuItem> viewModelMap
public static final java.lang.String MENU_STYLENAME
protected void handleAttach(com.vaadin.server.ClientConnector.AttachEvent event)
public void setStyleName(@Nullable java.lang.String name)
Component
setStyleName
in interface Component
setStyleName
in class AbstractComponent<JmixMenuBar>
name
- one or more style names separated by space.public java.lang.String getStyleName()
Component
getStyleName
in interface Component
getStyleName
in class AbstractComponent<JmixMenuBar>
public void loadMenu()
AppMenu
MenuConfig
public AppMenu.MenuItem createMenuItem(java.lang.String id)
AppMenu
createMenuItem
in interface AppMenu
id
- item idpublic AppMenu.MenuItem createMenuItem(java.lang.String id, java.lang.String caption)
AppMenu
createMenuItem
in interface AppMenu
id
- item idcaption
- item captionpublic AppMenu.MenuItem createMenuItem(java.lang.String id, java.lang.String caption, @Nullable java.lang.String icon, @Nullable java.util.function.Consumer<AppMenu.MenuItem> command)
AppMenu
createMenuItem
in interface AppMenu
id
- item idcaption
- item captionicon
- iconcommand
- commandprotected void assignJTestIds(AppMenu.MenuItem menuItem, java.lang.String id)
public void addMenuItem(AppMenu.MenuItem menuItem)
AppMenu
addMenuItem
in interface AppMenu
menuItem
- menu itempublic void addMenuItem(AppMenu.MenuItem menuItem, int index)
AppMenu
addMenuItem
in interface AppMenu
menuItem
- menu itemindex
- target indexprotected void registerMenuItem(AppMenu.MenuItem menuItem)
public void removeMenuItem(AppMenu.MenuItem menuItem)
AppMenu
removeMenuItem
in interface AppMenu
menuItem
- menu itempublic void removeMenuItem(int index)
AppMenu
removeMenuItem
in interface AppMenu
index
- indexprotected void unregisterItem(AppMenu.MenuItem menuItem)
@Nullable public AppMenu.MenuItem getMenuItem(java.lang.String id)
getMenuItem
in interface AppMenu
id
- item idpublic AppMenu.MenuItem getMenuItemNN(java.lang.String id)
getMenuItemNN
in interface AppMenu
id
- item idpublic java.util.List<AppMenu.MenuItem> getMenuItems()
getMenuItems
in interface AppMenu
public boolean hasMenuItems()
hasMenuItems
in interface AppMenu
protected void checkItemIdDuplicate(java.lang.String id)
protected void checkItemOwner(AppMenu.MenuItem item)
public AppMenu.MenuItem createSeparator()
AppMenu
createSeparator
in interface AppMenu
public void setMenuItemShortcutCaption(AppMenu.MenuItem menuItem, java.lang.String shortcut)
AppMenu
setMenuItemShortcutCaption
in interface AppMenu
menuItem
- MenuItem instanceshortcut
- shortcut key combination string representationpublic void focus()
Component.Focusable
focus
in interface Component.Focusable
public int getTabIndex()
Component.Focusable
HasTabIndex
component.getTabIndex
in interface Component.Focusable
HasTabIndex
componentpublic void setTabIndex(int tabIndex)
Component.Focusable
Focusable
component.
The tab index property is used to specify the order in which the
fields are focused when the user presses the Tab key. Components with
a defined tab index are focused sequentially first, and then the
components with no tab index.setTabIndex
in interface Component.Focusable
tabIndex
- tab index