use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebUrlRouting method notAttachedToUi.
protected boolean notAttachedToUi(Screen screen) {
boolean notAttached;
Screens.OpenedScreens openedScreens = ui.getScreens().getOpenedScreens();
if (screen.getWindow() instanceof RootWindow) {
Screen rootScreen = openedScreens.getRootScreenOrNull();
notAttached = rootScreen == null || rootScreen != screen;
} else if (screen.getWindow() instanceof DialogWindow) {
notAttached = !openedScreens.getDialogScreens().contains(screen);
} else {
notAttached = !openedScreens.getActiveScreens().contains(screen);
}
return notAttached;
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebUrlRouting method buildScreenRoute.
protected String buildScreenRoute(Screen screen) {
List<Screen> screens = new ArrayList<>(ui.getScreens().getOpenedScreens().getCurrentBreadcrumbs());
if (screens.isEmpty() || screens.get(0) != screen) {
log.debug("Current breadcrumbs doesn't contain the given screen '{}'", screen.getId());
return "";
}
Collections.reverse(screens);
StringBuilder state = new StringBuilder();
String prevSubRoute = null;
for (int i = 0; i < screens.size() && i < MAX_NESTING; i++) {
String subRoute = buildSubRoute(prevSubRoute, screens.get(i));
if (StringUtils.isNotEmpty(state) && StringUtils.isNotEmpty(subRoute)) {
state.append('/');
}
state.append(subRoute);
prevSubRoute = subRoute;
}
return state.toString();
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebScreens method openEditor.
@SuppressWarnings({ "deprecation", "IncorrectCreateGuiComponent", "unchecked" })
@Override
public Window.Editor openEditor(WindowInfo windowInfo, Entity item, OpenType openType) {
Map<String, Object> params = createParametersMap(windowInfo, Collections.singletonMap(WindowParams.ITEM.name(), item));
MapScreenOptions options = new MapScreenOptions(params);
Screen screen = createScreen(windowInfo, openType.getOpenMode(), options);
applyOpenTypeParameters(screen.getWindow(), openType);
EditorScreen editorScreen = (EditorScreen) screen;
editorScreen.setEntityToEdit(item);
show(screen);
return screen instanceof Window.Editor ? (Window.Editor) screen : new ScreenEditorWrapper(screen);
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebScreens method openEditor.
@SuppressWarnings({ "deprecation", "IncorrectCreateGuiComponent", "unchecked" })
@Override
public Window.Editor openEditor(WindowInfo windowInfo, Entity item, OpenType openType, Datasource parentDs) {
Map<String, Object> params = createParametersMap(windowInfo, Collections.singletonMap(WindowParams.ITEM.name(), item));
MapScreenOptions options = new MapScreenOptions(params);
Screen screen = createScreen(windowInfo, openType.getOpenMode(), options);
applyOpenTypeParameters(screen.getWindow(), openType);
EditorScreen editorScreen = (EditorScreen) screen;
if (editorScreen instanceof AbstractEditor) {
((AbstractEditor) editorScreen).setParentDs(parentDs);
}
editorScreen.setEntityToEdit(item);
show(screen);
return screen instanceof Window.Editor ? (Window.Editor) screen : new ScreenEditorWrapper(screen);
}
use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.
the class WebScreens method saveScreenSettings.
public void saveScreenSettings() {
Screen rootScreen = getOpenedScreens().getRootScreen();
saveSettings(rootScreen);
getOpenedWorkAreaScreensStream().forEach(UiControllerUtils::saveSettings);
getDialogScreensStream().forEach(UiControllerUtils::saveSettings);
}
Aggregations