use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebScreens method openWindow.
@SuppressWarnings({ "IncorrectCreateGuiComponent", "deprecation" })
@Override
public Window openWindow(WindowInfo windowInfo, OpenType openType, Map<String, Object> params) {
params = createParametersMap(windowInfo, params);
MapScreenOptions options = new MapScreenOptions(params);
Screen screen = createScreen(windowInfo, openType.getOpenMode(), options);
applyOpenTypeParameters(screen.getWindow(), openType);
show(screen);
return screen instanceof Window ? (Window) screen : new ScreenWrapper(screen);
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebScreens method openLookup.
@SuppressWarnings({ "deprecation", "IncorrectCreateGuiComponent", "unchecked" })
@Override
public Window.Lookup openLookup(WindowInfo windowInfo, Window.Lookup.Handler handler, OpenType openType, Map<String, Object> params) {
params = createParametersMap(windowInfo, params);
MapScreenOptions options = new MapScreenOptions(params);
Screen screen = createScreen(windowInfo, openType.getOpenMode(), options);
applyOpenTypeParameters(screen.getWindow(), openType);
((LookupScreen) screen).setSelectHandler(new SelectHandlerAdapter(handler));
show(screen);
return screen instanceof Window.Lookup ? (Window.Lookup) screen : new ScreenLookupWrapper(screen);
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebScreens method selectWindowTab.
@Override
public void selectWindowTab(Window window) {
WebAppWorkArea workArea = getConfiguredWorkArea();
Collection<WindowStack> workAreaStacks = getWorkAreaStacks(workArea);
Screen screen = window.getFrameOwner();
workAreaStacks.stream().filter(ws -> ws.getBreadcrumbs().contains(screen)).findFirst().ifPresent(WindowStack::select);
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class UrlChangeHandler method isCurrentRootState.
protected boolean isCurrentRootState(NavigationState requestedState) {
if (!isRootState(requestedState)) {
return false;
}
Screen rootScreen = ui.getScreens().getOpenedScreens().getRootScreenOrNull();
if (rootScreen == null) {
return false;
}
RouteDefinition routeDefinition = UiControllerUtils.getScreenContext(rootScreen).getWindowInfo().getRouteDefinition();
return routeDefinition != null && routeDefinition.isRoot() && StringUtils.equals(routeDefinition.getPath(), requestedState.getRoot());
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class HistoryNavigator method findPreviousState.
protected NavigationState findPreviousState(NavigationState requestedState) {
if (urlChangeHandler.isRootState(requestedState)) {
return requestedState;
}
if (Objects.equals(requestedState, history.getNow())) {
requestedState = history.getPrevious();
}
NavigationState prevState;
Screen prevStateScreen = urlChangeHandler.findScreenByState(requestedState);
if (prevStateScreen == null && !urlChangeHandler.isRootState(requestedState)) {
while (history.getPrevious() != null) {
history.backward();
NavigationState previousState = history.getPrevious();
if (urlChangeHandler.findActiveScreenByState(previousState) != null || urlChangeHandler.isRootState(previousState)) {
break;
}
}
prevState = history.getPrevious();
} else {
prevState = requestedState;
}
return prevState;
}
Aggregations