use of com.google.gwt.core.client.Scheduler.ScheduledCommand in project rstudio by rstudio.
the class WorkbenchScreen method prefetch.
private void prefetch() {
final SerializedCommandQueue prefetchQueue = new SerializedCommandQueue();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute() {
onPaneSizesChanged();
}
});
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute() {
for (final WorkbenchTab tab : paneManager_.getAllTabs()) prefetchQueue.addCommand(new SerializedCommand() {
public void onExecute(Command continuation) {
tab.prefetch(continuation);
}
});
prefetchQueue.addCommand(new SerializedCommand() {
public void onExecute(Command continuation) {
ApplicationEndedPopupPanel.prefetch(continuation);
}
});
prefetchQueue.addCommand(new SerializedCommand() {
public void onExecute(Command continuation) {
edit_.forceLoad(true, continuation);
}
});
prefetchQueue.addCommand(new SerializedCommand() {
public void onExecute(Command continuation) {
optionsLoader_.forceLoad(true, continuation);
}
});
}
});
}
use of com.google.gwt.core.client.Scheduler.ScheduledCommand in project rstudio by rstudio.
the class HelpPane method onLoad.
@Override
protected void onLoad() {
super.onLoad();
if (!initialized_) {
initialized_ = true;
initHelpCallbacks();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute() {
manageTitleLabelMaxSize();
}
});
}
}
use of com.google.gwt.core.client.Scheduler.ScheduledCommand in project rstudio by rstudio.
the class HelpPane method createSecondaryToolbar.
@Override
protected SecondaryToolbar createSecondaryToolbar() {
SecondaryToolbar toolbar = new SecondaryToolbar();
toolbar.addLeftPopupMenu(title_ = new Label(), history_.getMenu());
if (isFindSupported()) {
final SmallButton btnNext = new SmallButton(">", true);
btnNext.setTitle("Find next (Enter)");
btnNext.setVisible(false);
btnNext.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
findNext();
}
});
final SmallButton btnPrev = new SmallButton("<", true);
btnPrev.setTitle("Find previous");
btnPrev.setVisible(false);
btnPrev.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
findPrev();
}
});
findTextBox_ = new FindTextBox("Find in Topic");
findTextBox_.setOverrideWidth(90);
toolbar.addLeftWidget(findTextBox_);
findTextBox_.addKeyUpHandler(new KeyUpHandler() {
@Override
public void onKeyUp(KeyUpEvent event) {
// ignore modifier key release
if (event.getNativeKeyCode() == KeyCodes.KEY_CTRL || event.getNativeKeyCode() == KeyCodes.KEY_ALT || event.getNativeKeyCode() == KeyCodes.KEY_SHIFT) {
return;
}
WindowEx contentWindow = getContentWindow();
if (contentWindow != null) {
// into the main content window
if (event.getNativeKeyCode() == KeyCodes.KEY_ESCAPE || event.getNativeKeyCode() == KeyCodes.KEY_TAB) {
event.preventDefault();
event.stopPropagation();
if (event.getNativeKeyCode() == KeyCodes.KEY_ESCAPE)
clearTerm();
contentWindow.focus();
} else {
// minimizing or maximizing the help pane
if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
event.preventDefault();
event.stopPropagation();
}
// check for term
String term = findTextBox_.getValue().trim();
int modifier = KeyboardShortcut.getModifierValue(event.getNativeEvent());
boolean isShift = modifier == KeyboardShortcut.SHIFT;
// if there is a term then search for it
if (term.length() > 0) {
// make buttons visible
setButtonVisibility(true);
// perform the find (check for incremental)
if (isIncrementalFindSupported()) {
boolean incremental = !event.isAnyModifierKeyDown() && (event.getNativeKeyCode() != KeyCodes.KEY_ENTER);
performFind(term, !isShift, incremental);
} else {
if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER)
performFind(term, !isShift, false);
}
} else // no term means clear term and remove selection
{
if (isIncrementalFindSupported()) {
clearTerm();
contentWindow.removeSelection();
}
}
}
}
}
private void clearTerm() {
findTextBox_.setValue("");
setButtonVisibility(false);
}
private void setButtonVisibility(final boolean visible) {
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
btnNext.setVisible(visible);
btnPrev.setVisible(visible);
}
});
}
});
findTextBox_.addKeyDownHandler(new KeyDownHandler() {
@Override
public void onKeyDown(KeyDownEvent event) {
// from handling them
if (event.getNativeKeyCode() == KeyCodes.KEY_ESCAPE || event.getNativeKeyCode() == KeyCodes.KEY_TAB || event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
event.preventDefault();
event.stopPropagation();
}
}
});
if (isIncrementalFindSupported()) {
btnPrev.getElement().getStyle().setMarginRight(3, Unit.PX);
toolbar.addLeftWidget(btnPrev);
toolbar.addLeftWidget(btnNext);
}
}
return toolbar;
}
use of com.google.gwt.core.client.Scheduler.ScheduledCommand in project rstudio by rstudio.
the class FilesList method redraw.
public void redraw() {
onResize();
// deferred to ensure that browser has responded to our
// resize request
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
filesDataGrid_.redraw();
}
});
}
use of com.google.gwt.core.client.Scheduler.ScheduledCommand in project rstudio by rstudio.
the class HistoryPane method onSelected.
@Override
public void onSelected() {
super.onSelected();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
recentScrollPanel_.restoreScrollPosition();
}
});
}
Aggregations