use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class UiControllerPropertyInjector method findComponent.
@Nullable
protected Component findComponent(String componentId) {
Component component = null;
Window window = null;
if (sourceScreen != null) {
window = sourceScreen.getWindow();
} else if (frameOwner instanceof ScreenFragment) {
FrameOwner host = ((ScreenFragment) frameOwner).getHostController();
if (host instanceof Screen) {
window = ((Screen) host).getWindow();
}
} else if (frameOwner instanceof Screen) {
window = ((Screen) frameOwner).getWindow();
}
if (window != null) {
component = window.getComponent(componentId);
}
return component;
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebTimer method addDetachListener.
private void addDetachListener(Frame owner) {
Screen screen = UiControllerUtils.getScreen(owner.getFrameOwner());
UiControllerUtils.addAfterDetachListener(screen, event -> detachTimerExtension());
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebAppWorkArea method initTabShortcuts.
protected void initTabShortcuts() {
Screen rootScreen = ComponentsHelper.getWindowNN(this).getFrameOwner();
RootWindow topLevelWindow = (RootWindow) rootScreen.getWindow();
topLevelWindow.withUnwrapped(CubaOrderedActionsLayout.class, actionsLayout -> {
if (getMode() == Mode.TABBED) {
actionsLayout.addShortcutListener(createNextWindowTabShortcut(topLevelWindow));
actionsLayout.addShortcutListener(createPreviousWindowTabShortcut(topLevelWindow));
}
actionsLayout.addShortcutListener(createCloseShortcut(topLevelWindow));
});
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebAppWorkArea method closeWindowStack.
protected boolean closeWindowStack(WindowStack windowStack) {
boolean closed = true;
Collection<Screen> tabScreens = windowStack.getBreadcrumbs();
for (Screen screen : tabScreens) {
if (isNotCloseable(screen.getWindow())) {
continue;
}
if (isWindowClosePrevented(screen.getWindow(), CloseOriginType.CLOSE_BUTTON)) {
closed = false;
// focus tab
windowStack.select();
break;
}
OperationResult closeResult = screen.close(FrameOwner.WINDOW_CLOSE_ACTION);
if (closeResult.getStatus() != OperationResult.Status.SUCCESS) {
closed = false;
// focus tab
windowStack.select();
break;
}
}
return closed;
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebAppWorkArea method reflectTabChangeToUrl.
protected void reflectTabChangeToUrl(boolean userOriginated) {
if (!userOriginated) {
return;
}
Component selectedTab = tabbedContainer.getTabSheetBehaviour().getSelectedTab();
if (selectedTab == null) {
return;
}
Window selectedWindow = ((TabWindowContainer) selectedTab).getBreadCrumbs().getCurrentWindow();
WebWindow webWindow = (WebWindow) selectedWindow;
NavigationState resolvedState = webWindow.getResolvedState();
if (resolvedState != null) {
int stateMark = generateUrlStateMark();
NavigationState newState = new NavigationState(resolvedState.getRoot(), String.valueOf(stateMark), resolvedState.getNestedRoute(), resolvedState.getParams());
webWindow.setResolvedState(newState);
Screen screen = selectedWindow.getFrameOwner();
UrlRouting urlRouting = UiControllerUtils.getScreenContext(screen).getUrlRouting();
urlRouting.pushState(screen, newState.getParams());
}
}
Aggregations