use of org.rstudio.studio.client.common.SimpleRequestCallback in project rstudio by rstudio.
the class RmdOutput method onRenderRmdSource.
@Override
public void onRenderRmdSource(final RenderRmdSourceEvent event) {
quitInitiatedAfterLastRender_ = false;
performRenderOperation(new Operation() {
@Override
public void execute() {
server_.renderRmdSource(event.getSource(), new SimpleRequestCallback<Boolean>());
}
});
}
use of org.rstudio.studio.client.common.SimpleRequestCallback in project rstudio by rstudio.
the class BuildPresenter method executeBuild.
private void executeBuild(final String type, final String subType) {
// attempt to start a build (this will be a silent no-op if there
// is already a build running)
workbenchContext_.setBuildInProgress(true);
sourceBuildHelper_.withSaveFilesBeforeCommand(new Command() {
@Override
public void execute() {
server_.startBuild(type, subType, new SimpleRequestCallback<Boolean>() {
@Override
public void onResponseReceived(Boolean response) {
}
@Override
public void onError(ServerError error) {
super.onError(error);
workbenchContext_.setBuildInProgress(false);
}
});
}
}, "Build");
}
use of org.rstudio.studio.client.common.SimpleRequestCallback in project rstudio by rstudio.
the class TextEditingTargetPresentationHelper method buildSlideMenu.
public void buildSlideMenu(final String path, boolean isDirty, final EditingTarget editor, final CommandWithArg<StatusBarPopupRequest> onCompleted) {
// rpc response handler
SimpleRequestCallback<SlideNavigation> requestCallback = new SimpleRequestCallback<SlideNavigation>() {
@Override
public void onResponseReceived(SlideNavigation slideNavigation) {
// create the menu and make sure we have some slides to return
StatusBarPopupMenu menu = new StatusBarPopupMenu();
if (slideNavigation.getTotalSlides() == 0) {
onCompleted.execute(new StatusBarPopupRequest(menu, null));
return;
}
MenuItem defaultMenuItem = null;
int length = slideNavigation.getItems().length();
for (int i = 0; i < length; i++) {
SlideNavigationItem item = slideNavigation.getItems().get(i);
String title = item.getTitle();
if (StringUtil.isNullOrEmpty(title))
title = "(Untitled Slide)";
StringBuilder indentBuilder = new StringBuilder();
for (int level = 0; level < item.getIndent(); level++) indentBuilder.append(" ");
SafeHtmlBuilder labelBuilder = new SafeHtmlBuilder();
labelBuilder.appendHtmlConstant(indentBuilder.toString());
labelBuilder.appendEscaped(title);
final int targetSlide = i;
final MenuItem menuItem = new MenuItem(labelBuilder.toSafeHtml(), new Command() {
public void execute() {
navigateToSlide(editor, targetSlide);
}
});
menu.addItem(menuItem);
// see if this is the default menu item
if (defaultMenuItem == null && item.getLine() >= (docDisplay_.getSelectionStart().getRow())) {
defaultMenuItem = menuItem;
}
}
StatusBarPopupRequest request = new StatusBarPopupRequest(menu, defaultMenuItem);
onCompleted.execute(request);
}
};
// send code over the wire if we are dirty
if (isDirty) {
server_.getSlideNavigationForCode(docDisplay_.getCode(), FileSystemItem.createFile(path).getParentPathString(), requestCallback);
} else {
server_.getSlideNavigationForFile(path, requestCallback);
}
}
use of org.rstudio.studio.client.common.SimpleRequestCallback in project rstudio by rstudio.
the class GitPresenter method doRevert.
private void doRevert(final ArrayList<String> revertList, final Command onRevertConfirmed) {
String noun = revertList.size() == 1 ? "file" : "files";
globalDisplay_.showYesNoMessage(GlobalDisplay.MSG_WARNING, "Revert Changes", "Changes to the selected " + noun + " will be lost, including " + "staged changes.\n\nAre you sure you want to continue?", new Operation() {
@Override
public void execute() {
if (onRevertConfirmed != null)
onRevertConfirmed.execute();
server_.gitRevert(revertList, new SimpleRequestCallback<Void>("Revert Changes"));
}
}, false);
}
Aggregations