Search in sources :

Example 21 with Size

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;
}
Also used : Size(org.rstudio.core.client.Size) Widget(com.google.gwt.user.client.ui.Widget) SimplePanel(com.google.gwt.user.client.ui.SimplePanel)

Example 22 with Size

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();
}
Also used : PlotsState(org.rstudio.studio.client.workbench.views.plots.model.PlotsState) Size(org.rstudio.core.client.Size)

Example 23 with Size

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;
        }
    });
}
Also used : Size(org.rstudio.core.client.Size) WindowEx(org.rstudio.core.client.dom.WindowEx) Point(org.rstudio.core.client.Point)

Example 24 with Size

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());
        }
    });
}
Also used : FileSystemItem(org.rstudio.core.client.files.FileSystemItem) ProgressIndicator(org.rstudio.core.client.widget.ProgressIndicator) Size(org.rstudio.core.client.Size) ServerError(org.rstudio.studio.client.server.ServerError) OperationWithInput(org.rstudio.core.client.widget.OperationWithInput) SavePlotAsPdfOptions(org.rstudio.studio.client.workbench.views.plots.model.SavePlotAsPdfOptions) UIPrefs(org.rstudio.studio.client.workbench.prefs.model.UIPrefs)

Example 25 with Size

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);
}
Also used : NewWindowOptions(org.rstudio.studio.client.common.GlobalDisplay.NewWindowOptions) Size(org.rstudio.core.client.Size) WindowEx(org.rstudio.core.client.dom.WindowEx) EnabledChangedHandler(org.rstudio.core.client.command.EnabledChangedHandler) Handler(org.rstudio.core.client.command.Handler)

Aggregations

Size (org.rstudio.core.client.Size)26 WindowEx (org.rstudio.core.client.dom.WindowEx)5 HTML (com.google.gwt.user.client.ui.HTML)2 SimplePanel (com.google.gwt.user.client.ui.SimplePanel)2 Widget (com.google.gwt.user.client.ui.Widget)2 Point (org.rstudio.core.client.Point)2 Handler (org.rstudio.core.client.command.Handler)2 NativeScreen (org.rstudio.core.client.dom.NativeScreen)2 ProgressIndicator (org.rstudio.core.client.widget.ProgressIndicator)2 NewWindowOptions (org.rstudio.studio.client.common.GlobalDisplay.NewWindowOptions)2 VCSApplicationParams (org.rstudio.studio.client.vcs.VCSApplicationParams)2 JavaScriptObject (com.google.gwt.core.client.JavaScriptObject)1 Document (com.google.gwt.dom.client.Document)1 ChangeEvent (com.google.gwt.event.dom.client.ChangeEvent)1 ChangeHandler (com.google.gwt.event.dom.client.ChangeHandler)1 ValueChangeEvent (com.google.gwt.event.logical.shared.ValueChangeEvent)1 ValueChangeHandler (com.google.gwt.event.logical.shared.ValueChangeHandler)1 JSONString (com.google.gwt.json.client.JSONString)1 Command (com.google.gwt.user.client.Command)1 DockLayoutPanel (com.google.gwt.user.client.ui.DockLayoutPanel)1