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;
}
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();
}
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();
});
}
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;
}
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;
}
Aggregations