Search in sources :

Example 36 with Screen

use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.

the class UrlChangeHandler method closeWindowStack.

protected boolean closeWindowStack(Screens.WindowStack windowStack) {
    boolean closed = true;
    for (Screen screen : windowStack.getBreadcrumbs()) {
        if (isNotCloseable(screen.getWindow()) || isWindowClosePrevented(screen.getWindow())) {
            closed = false;
            windowStack.select();
            break;
        }
        OperationResult closeResult = screen.close(FrameOwner.WINDOW_CLOSE_ACTION);
        if (closeResult.getStatus() != OperationResult.Status.SUCCESS) {
            closed = false;
            windowStack.select();
            break;
        }
    }
    return closed;
}
Also used : Screen(com.haulmont.cuba.gui.screen.Screen) OperationResult(com.haulmont.cuba.gui.util.OperationResult)

Example 37 with Screen

use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.

the class HistoryNavigator method proceedHistoryBackward.

protected void proceedHistoryBackward(NavigationState requestedState) {
    Screen screen = urlChangeHandler.findActiveScreenByState(requestedState);
    urlChangeHandler.selectScreen(screen);
    urlTools.replaceState(requestedState.asRoute(), ui);
    history.backward();
}
Also used : Screen(com.haulmont.cuba.gui.screen.Screen)

Example 38 with Screen

use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.

the class TaskHandlerImpl method kill.

/**
 * Cancel without events for tasks
 */
public final void kill() {
    uiAccessor.access(() -> {
        Screen ownerFrame = getTask().getOwnerScreen();
        removeAfterDetachListener();
        if (log.isTraceEnabled()) {
            if (ownerFrame != null) {
                String windowClass = ownerFrame.getClass().getCanonicalName();
                log.trace("Task killed. Task: {}. User: {}. Frame: {}", taskExecutor.getTask(), getUserSession().getId(), windowClass);
            } else {
                log.trace("Task killed. Task: {}. User: {}", taskExecutor.getTask(), getUserSession().getId());
            }
        }
        taskExecutor.cancelExecution();
    });
}
Also used : Screen(com.haulmont.cuba.gui.screen.Screen)

Example 39 with Screen

use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.

the class LookupBuilderProcessor method createScreen.

protected <E extends Entity> Screen createScreen(LookupBuilder<E> builder, Screens screens) {
    Screen screen;
    if (builder instanceof LookupClassBuilder) {
        LookupClassBuilder lookupClassBuilder = (LookupClassBuilder) builder;
        @SuppressWarnings("unchecked") Class<? extends Screen> screenClass = lookupClassBuilder.getScreenClass();
        if (screenClass == null) {
            throw new IllegalArgumentException("Screen class is not set");
        }
        screen = screens.create(screenClass, builder.getLaunchMode(), builder.getOptions());
    } else {
        String lookupScreenId;
        if (builder.getScreenId() != null) {
            lookupScreenId = builder.getScreenId();
        } else {
            lookupScreenId = windowConfig.getLookupScreen(builder.getEntityClass()).getId();
        }
        if (lookupScreenId == null) {
            throw new IllegalArgumentException("Screen id is not set");
        }
        screen = screens.create(lookupScreenId, builder.getLaunchMode(), builder.getOptions());
    }
    return screen;
}
Also used : Screen(com.haulmont.cuba.gui.screen.Screen) LookupScreen(com.haulmont.cuba.gui.screen.LookupScreen)

Example 40 with Screen

use of com.haulmont.cuba.gui.screen.Screen in project cuba by cuba-platform.

the class ScreenBuilderProcessor method buildScreen.

@SuppressWarnings("unchecked")
public Screen buildScreen(ScreenBuilder builder) {
    FrameOwner origin = builder.getOrigin();
    Screens screens = getScreenContext(origin).getScreens();
    Screen screen;
    if (builder instanceof ScreenClassBuilder) {
        ScreenClassBuilder screenClassBuilder = (ScreenClassBuilder) builder;
        Class screenClass = screenClassBuilder.getScreenClass();
        if (screenClass == null) {
            throw new IllegalArgumentException("Screen class is not set");
        }
        screen = screens.create(screenClass, builder.getLaunchMode(), builder.getOptions());
        @SuppressWarnings("unchecked") Consumer<AfterScreenCloseEvent> closeListener = screenClassBuilder.getCloseListener();
        if (closeListener != null) {
            screen.addAfterCloseListener(new AfterCloseListenerAdapter(closeListener));
        }
    } else {
        if (builder.getScreenId() == null) {
            throw new IllegalArgumentException("Screen id is not set");
        }
        screen = screens.create(builder.getScreenId(), builder.getLaunchMode(), builder.getOptions());
    }
    return screen;
}
Also used : FrameOwner(com.haulmont.cuba.gui.screen.FrameOwner) Screen(com.haulmont.cuba.gui.screen.Screen) Screens(com.haulmont.cuba.gui.Screens)

Aggregations

Screen (com.haulmont.cuba.gui.screen.Screen)66 WebWindow (com.haulmont.cuba.web.gui.WebWindow)18 NotFoundScreen (com.haulmont.cuba.web.app.ui.navigation.notfoundwindow.NotFoundScreen)11 GuiDialogWindow (com.haulmont.cuba.web.gui.components.WebDialogWindow.GuiDialogWindow)10 WebTabWindow (com.haulmont.cuba.web.gui.components.WebTabWindow)10 EditorScreen (com.haulmont.cuba.gui.screen.EditorScreen)9 NavigationState (com.haulmont.cuba.gui.navigation.NavigationState)8 Nullable (javax.annotation.Nullable)8 Screens (com.haulmont.cuba.gui.Screens)6 WindowInfo (com.haulmont.cuba.gui.config.WindowInfo)6 WebAppWorkArea (com.haulmont.cuba.web.gui.components.mainwindow.WebAppWorkArea)6 FrameOwner (com.haulmont.cuba.gui.screen.FrameOwner)5 AppUI (com.haulmont.cuba.web.AppUI)5 Entity (com.haulmont.cuba.core.entity.Entity)4 com.haulmont.cuba.core.global (com.haulmont.cuba.core.global)4 SelectHandlerAdapter (com.haulmont.cuba.gui.components.compatibility.SelectHandlerAdapter)4 WindowConfig (com.haulmont.cuba.gui.config.WindowConfig)4 OpenMode (com.haulmont.cuba.gui.screen.OpenMode)4 ScreenFragment (com.haulmont.cuba.gui.screen.ScreenFragment)4 UiControllerUtils (com.haulmont.cuba.gui.screen.UiControllerUtils)4