Modifier and Type | Class and Description |
---|---|
protected class |
ScreensImpl.OpenedScreensImpl |
protected static class |
ScreensImpl.ScreenOpenDetails |
class |
ScreensImpl.TabCloseTask |
protected static class |
ScreensImpl.TabWindowContainerImpl
Content of each tab of AppWorkArea TabSheet.
|
protected static class |
ScreensImpl.WindowStackImpl |
Screens.OpenedScreens, Screens.WindowStack
Modifier and Type | Field and Description |
---|---|
protected io.jmix.core.AccessManager |
accessManager |
protected org.springframework.context.ApplicationContext |
applicationContext |
protected UiControllerDependencyManager |
dependencyManager |
protected IconResolver |
iconResolver |
protected Icons |
icons |
protected io.jmix.core.Messages |
messages |
protected io.micrometer.core.instrument.MeterRegistry |
meterRegistry |
protected ScreenXmlLoader |
screenXmlLoader |
protected AppUI |
ui |
protected UiComponents |
uiComponents |
protected UiProperties |
uiProperties |
protected UrlTools |
urlTools |
protected WindowConfig |
windowConfig |
NAVIGATION_CLOSE_ACTION, NAVIGATION_CLOSE_ACTION_ID
Constructor and Description |
---|
ScreensImpl() |
Modifier and Type | Method and Description |
---|---|
protected void |
afterScreenRemove(Screen screen) |
protected void |
changeUrl(Screen screen) |
OperationResult |
checkModificationsAndCloseAll()
Check modifications and close all screens in all main windows excluding root screens.
|
void |
checkModificationsAndCloseAll(java.lang.Runnable runIfOk)
Deprecated.
|
void |
checkModificationsAndCloseAll(java.lang.Runnable runIfOk,
java.lang.Runnable runIfCancel)
Deprecated.
|
protected void |
checkNotYetOpened(Screen screen) |
protected void |
checkOpened(Screen screen) |
protected void |
checkPermissions(OpenMode openMode,
WindowInfo windowInfo) |
<T extends Screen> |
create(java.lang.Class<T> requiredScreenClass,
OpenMode openMode,
ScreenOptions options)
Creates a screen by its controller class.
|
Screen |
create(java.lang.String screenId,
OpenMode openMode,
ScreenOptions options)
Creates a screen by its screen id.
|
protected ComponentLoaderContext |
createComponentLoaderContext(ScreenOptions options) |
protected <T extends Screen> |
createController(WindowInfo windowInfo,
Window window,
java.lang.Class<T> screenClass) |
protected DialogWindow |
createDialogWindow(WindowInfo windowInfo) |
protected void |
createNewTabLayout(Screen screen) |
protected NavigationState |
createOrUpdateState(NavigationState state,
int stateMark) |
protected java.util.Map<java.lang.String,java.lang.Object> |
createParametersMap(WindowInfo windowInfo,
java.util.Map<java.lang.String,java.lang.Object> params)
Deprecated.
|
protected RootWindow |
createRootWindow(WindowInfo windowInfo) |
protected <T extends Screen> |
createScreen(WindowInfo windowInfo,
OpenMode openMode,
ScreenOptions options) |
protected TabWindow |
createTabWindow(WindowInfo windowInfo) |
protected Window |
createWindow(WindowInfo windowInfo,
java.lang.Class<? extends Screen> screenClass,
ScreensImpl.ScreenOpenDetails openDetails) |
protected WindowBreadCrumbs |
createWindowBreadCrumbs(Screen screen) |
protected WindowContextImpl |
createWindowContext(Window window,
ScreensImpl.ScreenOpenDetails openDetails) |
protected void |
findMessageGroup(org.dom4j.Element element,
java.lang.String descriptorPath,
ComponentLoaderContext componentLoaderContext) |
protected void |
fireScreenAfterDetachEvent(FrameOwner screen,
java.lang.Class<Screen.AfterDetachEvent> eventType,
Screen.AfterDetachEvent event) |
protected void |
fireScreenAfterInitEvent(FrameOwner screen,
java.lang.Class<Screen.AfterInitEvent> eventType,
Screen.AfterInitEvent event) |
protected void |
fireScreenAfterShowEvent(FrameOwner screen,
java.lang.Class<Screen.AfterShowEvent> eventType,
Screen.AfterShowEvent event) |
protected void |
fireScreenBeforeShowEvent(FrameOwner screen,
java.lang.Class<Screen.BeforeShowEvent> eventType,
Screen.BeforeShowEvent event) |
protected void |
fireScreenInitEvent(FrameOwner screen,
java.lang.Class<Screen.InitEvent> eventType,
Screen.InitEvent event) |
protected java.util.stream.Stream<Screen> |
getActiveWorkAreaScreensStream() |
protected Screen |
getAnyCurrentScreen() |
AppWorkAreaImpl |
getConfiguredWorkArea() |
AppWorkArea |
getConfiguredWorkAreaOrNull() |
protected java.util.Collection<Screen> |
getCurrentBreadcrumbs() |
protected java.util.stream.Stream<Screen> |
getDialogScreensStream() |
protected java.lang.String |
getMessageGroup(java.lang.String descriptorPath) |
Screens.OpenedScreens |
getOpenedScreens() |
protected java.util.stream.Stream<Screen> |
getOpenedWorkAreaScreensStream() |
protected Screen |
getRootScreenOrNull() |
protected WindowInfo |
getScreenInfo(java.lang.Class<? extends Screen> screenClass) |
protected java.util.stream.Stream<Screens.WindowStack> |
getTabbedScreensStacks(AppWorkAreaImpl workArea) |
protected java.util.Collection<Screens.WindowStack> |
getWorkAreaStacks(AppWorkAreaImpl workArea) |
protected void |
handleTabWindowClose(HasTabSheetBehaviour targetTabSheet,
com.vaadin.ui.Component tabContent) |
protected void |
handleWindowBreadCrumbsNavigate(WindowBreadCrumbs breadCrumbs,
Window window) |
protected boolean |
hasModalDialogWindow()
Checks if there are modal GUI dialog windows.
|
protected boolean |
hasModalWindow()
Checks if there are modal Vaadin dialog windows.
|
boolean |
hasUnsavedChanges()
Check if there are screens that have unsaved changes.
|
protected boolean |
isMaxTabCountExceeded(Screen screen) |
protected boolean |
isWindowClosePrevented(Window window,
Window.CloseOrigin closeOrigin) |
protected org.dom4j.Element |
loadScreenXml(WindowInfo windowInfo,
ScreenOptions options) |
protected <T extends Screen> |
loadWindowFromXml(org.dom4j.Element element,
WindowInfo windowInfo,
Window window,
T controller,
ComponentLoaderContext componentLoaderContext) |
protected ScreensImpl.ScreenOpenDetails |
prepareScreenOpenDetails(java.lang.Class<? extends Screen> resolvedScreenClass,
org.dom4j.Element element,
OpenMode requiredOpenMode) |
void |
remove(Screen screen)
Removes screen from UI and releases all the resources of screen.
|
void |
removeAll()
Removes all child screens (screens of work area and dialog screens) from the root screen and releases their resources.
|
protected void |
removeDialogWindow(Screen screen) |
protected void |
removeNewTabWindow(Screen screen) |
protected void |
removeRootWindow(Screen screen) |
protected void |
removeThisTabWindow(Screen screen) |
void |
setAppUi(AppUI ui) |
OperationResult |
show(Screen screen)
Displays the given screen according to its
OpenMode . |
protected void |
showDialogWindow(Screen screen) |
OperationResult |
showFromNavigation(Screen screen)
Displays the given screen taking into account already opened screens and multipleOpen option.
|
protected void |
showNewTabWindow(Screen screen) |
protected void |
showRootWindow(Screen screen) |
protected void |
showThisTabWindow(Screen screen) |
protected void |
showTooManyOpenTabsMessage() |
@Autowired protected org.springframework.context.ApplicationContext applicationContext
@Autowired protected WindowConfig windowConfig
@Autowired protected UiComponents uiComponents
@Autowired protected ScreenXmlLoader screenXmlLoader
@Autowired protected IconResolver iconResolver
@Autowired protected io.jmix.core.Messages messages
@Autowired protected Icons icons
@Autowired protected UrlTools urlTools
@Autowired protected io.micrometer.core.instrument.MeterRegistry meterRegistry
@Autowired protected io.jmix.core.AccessManager accessManager
@Autowired protected UiControllerDependencyManager dependencyManager
@Autowired protected UiProperties uiProperties
protected AppUI ui
@Autowired public void setAppUi(AppUI ui)
public <T extends Screen> T create(java.lang.Class<T> requiredScreenClass, OpenMode openMode, ScreenOptions options)
Screens
public Screen create(java.lang.String screenId, OpenMode openMode, ScreenOptions options)
Screens
protected <T extends Screen> T createScreen(WindowInfo windowInfo, OpenMode openMode, ScreenOptions options)
protected ComponentLoaderContext createComponentLoaderContext(ScreenOptions options)
protected ScreensImpl.ScreenOpenDetails prepareScreenOpenDetails(java.lang.Class<? extends Screen> resolvedScreenClass, @Nullable org.dom4j.Element element, OpenMode requiredOpenMode)
@Nullable protected org.dom4j.Element loadScreenXml(WindowInfo windowInfo, ScreenOptions options)
protected <T extends Screen> void loadWindowFromXml(org.dom4j.Element element, WindowInfo windowInfo, Window window, T controller, ComponentLoaderContext componentLoaderContext)
protected void findMessageGroup(org.dom4j.Element element, java.lang.String descriptorPath, ComponentLoaderContext componentLoaderContext)
protected java.lang.String getMessageGroup(java.lang.String descriptorPath)
public OperationResult show(Screen screen)
Screens
OpenMode
.show
in interface Screens
screen
- screenOperationResult.success()
if screen is shown or otherwise OperationResult.fail()
public OperationResult showFromNavigation(Screen screen)
Screens
showFromNavigation
in interface Screens
screen
- screenprotected void changeUrl(Screen screen)
protected void checkNotYetOpened(Screen screen)
protected void checkOpened(Screen screen)
protected boolean isMaxTabCountExceeded(Screen screen)
protected void showTooManyOpenTabsMessage()
public void remove(Screen screen)
Screens
protected void afterScreenRemove(Screen screen)
@Nullable protected Screen getAnyCurrentScreen()
protected void removeThisTabWindow(Screen screen)
protected void removeRootWindow(Screen screen)
protected void removeNewTabWindow(Screen screen)
protected void removeDialogWindow(Screen screen)
public void removeAll()
Screens
public boolean hasUnsavedChanges()
Screens
hasUnsavedChanges
in interface Screens
public Screens.OpenedScreens getOpenedScreens()
getOpenedScreens
in interface Screens
protected java.util.stream.Stream<Screen> getOpenedWorkAreaScreensStream()
protected java.util.stream.Stream<Screen> getActiveWorkAreaScreensStream()
protected java.util.stream.Stream<Screen> getDialogScreensStream()
protected java.util.Collection<Screen> getCurrentBreadcrumbs()
@Nullable protected Screen getRootScreenOrNull()
protected java.util.stream.Stream<Screens.WindowStack> getTabbedScreensStacks(AppWorkAreaImpl workArea)
protected java.util.Collection<Screens.WindowStack> getWorkAreaStacks(AppWorkAreaImpl workArea)
public AppWorkAreaImpl getConfiguredWorkArea()
java.lang.IllegalStateException
- if there is no root screen or root screen does not have AppWorkArea
@Nullable public AppWorkArea getConfiguredWorkAreaOrNull()
getConfiguredWorkAreaOrNull
in interface Screens
protected <T extends Screen> T createController(WindowInfo windowInfo, Window window, java.lang.Class<T> screenClass)
protected Window createWindow(WindowInfo windowInfo, java.lang.Class<? extends Screen> screenClass, ScreensImpl.ScreenOpenDetails openDetails)
protected DialogWindow createDialogWindow(WindowInfo windowInfo)
protected RootWindow createRootWindow(WindowInfo windowInfo)
protected TabWindow createTabWindow(WindowInfo windowInfo)
protected WindowContextImpl createWindowContext(Window window, ScreensImpl.ScreenOpenDetails openDetails)
protected void checkPermissions(OpenMode openMode, WindowInfo windowInfo)
protected WindowInfo getScreenInfo(java.lang.Class<? extends Screen> screenClass)
protected void showRootWindow(Screen screen)
protected boolean isWindowClosePrevented(Window window, Window.CloseOrigin closeOrigin)
protected boolean hasModalDialogWindow()
protected boolean hasModalWindow()
@Deprecated public void checkModificationsAndCloseAll(@Nullable java.lang.Runnable runIfOk)
runIfOk
- a closure to run after all screens are closed@Deprecated public void checkModificationsAndCloseAll(@Nullable java.lang.Runnable runIfOk, @Nullable java.lang.Runnable runIfCancel)
runIfOk
- a closure to run after all screens are closedrunIfCancel
- a closure to run if there were modifications and a user canceled the operationpublic OperationResult checkModificationsAndCloseAll()
@Deprecated protected java.util.Map<java.lang.String,java.lang.Object> createParametersMap(WindowInfo windowInfo, @Nullable java.util.Map<java.lang.String,java.lang.Object> params)
protected void showNewTabWindow(Screen screen)
protected WindowBreadCrumbs createWindowBreadCrumbs(Screen screen)
protected void createNewTabLayout(Screen screen)
protected void showThisTabWindow(Screen screen)
protected void showDialogWindow(Screen screen)
protected NavigationState createOrUpdateState(@Nullable NavigationState state, int stateMark)
protected void handleWindowBreadCrumbsNavigate(WindowBreadCrumbs breadCrumbs, Window window)
protected void handleTabWindowClose(HasTabSheetBehaviour targetTabSheet, com.vaadin.ui.Component tabContent)
protected void fireScreenInitEvent(FrameOwner screen, java.lang.Class<Screen.InitEvent> eventType, Screen.InitEvent event)
protected void fireScreenAfterInitEvent(FrameOwner screen, java.lang.Class<Screen.AfterInitEvent> eventType, Screen.AfterInitEvent event)
protected void fireScreenBeforeShowEvent(FrameOwner screen, java.lang.Class<Screen.BeforeShowEvent> eventType, Screen.BeforeShowEvent event)
protected void fireScreenAfterShowEvent(FrameOwner screen, java.lang.Class<Screen.AfterShowEvent> eventType, Screen.AfterShowEvent event)
protected void fireScreenAfterDetachEvent(FrameOwner screen, java.lang.Class<Screen.AfterDetachEvent> eventType, Screen.AfterDetachEvent event)