use of org.rstudio.core.client.Size in project rstudio by rstudio.
the class EditDialog method createMainWidget.
@Override
protected Widget createMainWidget() {
// create widget and set size
Widget editWidget = editor_.getWidget();
Size size = DomMetrics.adjustedCodeElementSize(sourceText_, 25, 100);
if (!minimumSize_.isEmpty()) {
size = new Size(Math.max(size.width, minimumSize_.width), Math.max(size.height, minimumSize_.height));
}
editWidget.setSize(size.width + "px", size.height + "px");
editor_.setCode(sourceText_, false);
if (isRCode_) {
// NOTE: line wrapping is ignored for R code since it has its
// own localized setting for enabled/disable of line wrapping
editor_.setFileType(FileTypeRegistry.R);
setEscapeDisabled(true);
} else {
editor_.setUseWrapMode(lineWrapping_);
editor_.setShowLineNumbers(false);
}
// return the widget
SimplePanel panel = new SimplePanel();
panel.addStyleName("EditDialog");
panel.setSize(size.width + "px", size.height + "px");
panel.setWidget(editWidget);
return panel;
}
use of org.rstudio.core.client.Size in project rstudio by rstudio.
the class Plots method onPlotsChanged.
public void onPlotsChanged(PlotsChangedEvent event) {
// get the event
PlotsState plotsState = event.getPlotsState();
// clear progress
view_.setProgress(false);
manipulatorManager_.setProgress(false);
// pane. therefore, we put in this workaround.
if (plotsState.getFilename().startsWith("empty.")) {
view_.showEmptyPlot();
} else {
String url = server_.getGraphicsUrl(plotsState.getFilename());
view_.showPlot(url);
}
// activate the plots tab if requested
if (plotsState.getActivatePlots())
view_.bringToFront();
// update plot size
plotSize_ = new Size(plotsState.getWidth(), plotsState.getHeight());
// manipulator
manipulatorManager_.setManipulator(plotsState.getManipulator(), plotsState.getShowManipulator());
// locator
if (locator_.isActive())
locate();
// reload zoom window if we have one
if (Desktop.isDesktop())
Desktop.getFrame().reloadZoomWindow();
else if ((zoomWindow_ != null) && !zoomWindow_.isClosed())
zoomWindow_.reload();
}
use of org.rstudio.core.client.Size in project rstudio by rstudio.
the class Plots method onZoomPlot.
void onZoomPlot() {
Size windowSize = ZoomUtils.getZoomWindowSize(view_.getPlotFrameSize(), zoomWindowDefaultSize_);
// determine whether we should scale (see comment in ImageFrame.onLoad
// for why we wouldn't want to scale)
int scale = 1;
if (Desktop.isDesktop() && BrowseCap.isMacintosh())
scale = 0;
// compose url string
String url = server_.getGraphicsUrl("plot_zoom?" + "width=" + windowSize.width + "&" + "height=" + windowSize.height + "&" + "scale=" + scale);
// open the window
ZoomUtils.openZoomWindow("_rstudio_zoom", url, windowSize, new OperationWithInput<WindowEx>() {
@Override
public void execute(WindowEx input) {
zoomWindow_ = input;
}
});
}
use of org.rstudio.core.client.Size in project rstudio by rstudio.
the class Plots method onSavePlotAsPdf.
void onSavePlotAsPdf() {
view_.bringToFront();
final ProgressIndicator indicator = globalDisplay_.getProgressIndicator("Error");
indicator.onProgress("Preparing to export plot...");
// get the default directory
final FileSystemItem defaultDir = ExportPlotUtils.getDefaultSaveDirectory(workbenchContext_.getCurrentWorkingDir());
// get context
server_.getUniqueSavePlotStem(defaultDir.getPath(), new SimpleRequestCallback<String>() {
@Override
public void onResponseReceived(String stem) {
indicator.onCompleted();
Size size = getPlotSize();
final SavePlotAsPdfOptions currentOptions = uiPrefs_.get().savePlotAsPdfOptions().getValue();
exportPlot_.savePlotAsPdf(globalDisplay_, server_, session_.getSessionInfo(), defaultDir, stem, currentOptions, pixelsToInches(size.width), pixelsToInches(size.height), new OperationWithInput<SavePlotAsPdfOptions>() {
@Override
public void execute(SavePlotAsPdfOptions options) {
if (!SavePlotAsPdfOptions.areEqual(options, currentOptions)) {
UIPrefs prefs = uiPrefs_.get();
prefs.savePlotAsPdfOptions().setGlobalValue(options);
prefs.writeUIPrefs();
}
}
});
}
@Override
public void onError(ServerError error) {
indicator.onError(error.getUserMessage());
}
});
}
use of org.rstudio.core.client.Size in project rstudio by rstudio.
the class ViewerPresenter method onViewerZoom.
@Handler
public void onViewerZoom() {
Size windowSize = ZoomUtils.getZoomWindowSize(display_.getViewerFrameSize(), zoomWindowDefaultSize_);
// open and activate window
NewWindowOptions options = new NewWindowOptions();
options.setName("_rstudio_viewer_zoom");
options.setFocus(true);
options.setCallback(new OperationWithInput<WindowEx>() {
@Override
public void execute(WindowEx input) {
zoomWindow_ = input;
}
});
globalDisplay_.openMinimalWindow(display_.getUrl(), false, windowSize.width, windowSize.height, options);
}
Aggregations