Search in sources :

Example 21 with ToolbarPopupMenu

use of org.rstudio.core.client.widget.ToolbarPopupMenu in project rstudio by rstudio.

the class ViewerPane method createMainToolbar.

@Override
protected Toolbar createMainToolbar() {
    toolbar_ = new Toolbar();
    // add html widget buttons
    toolbar_.addLeftWidget(commands_.viewerBack().createToolbarButton());
    toolbar_.addLeftWidget(commands_.viewerForward().createToolbarButton());
    toolbar_.addLeftSeparator();
    toolbar_.addLeftWidget(commands_.viewerZoom().createToolbarButton());
    // export commands
    exportButtonSeparator_ = toolbar_.addLeftSeparator();
    ToolbarPopupMenu exportMenu = new ToolbarPopupMenu();
    exportMenu.addItem(commands_.viewerSaveAsImage().createMenuItem(false));
    exportMenu.addItem(commands_.viewerCopyToClipboard().createMenuItem(false));
    exportMenu.addSeparator();
    exportMenu.addItem(commands_.viewerSaveAsWebPage().createMenuItem(false));
    exportButton_ = new ToolbarButton("Export", new ImageResource2x(StandardIcons.INSTANCE.export_menu2x()), exportMenu);
    toolbar_.addLeftWidget(exportButton_);
    exportButton_.setVisible(false);
    exportButtonSeparator_.setVisible(false);
    toolbar_.addLeftSeparator();
    toolbar_.addLeftWidget(commands_.viewerClear().createToolbarButton());
    toolbar_.addLeftSeparator();
    toolbar_.addLeftWidget(commands_.viewerClearAll().createToolbarButton());
    toolbar_.addLeftSeparator();
    toolbar_.addLeftWidget(commands_.viewerPopout().createToolbarButton());
    toolbar_.addLeftSeparator();
    toolbar_.addLeftWidget(commands_.viewerStop().createToolbarButton());
    // add publish button 
    publishButton_ = new RSConnectPublishButton(RSConnect.CONTENT_TYPE_DOCUMENT, true, null);
    toolbar_.addRightWidget(publishButton_);
    toolbar_.addRightSeparator();
    toolbar_.addRightWidget(commands_.viewerRefresh().createToolbarButton());
    // create an HTML generator 
    publishButton_.setPublishHtmlSource(new PublishHtmlSource() {

        @Override
        public void generatePublishHtml(final CommandWithArg<String> onCompleted) {
            server_.viewerCreateRPubsHtml(getTitle(), "", new ServerRequestCallback<String>() {

                @Override
                public void onResponseReceived(String htmlFile) {
                    onCompleted.execute(htmlFile);
                }

                @Override
                public void onError(ServerError error) {
                    globalDisplay_.showErrorMessage("Could Not Publish", error.getMessage());
                }
            });
        }

        @Override
        public String getTitle() {
            String title = frame_.getTitle();
            if (StringUtil.isNullOrEmpty(title))
                title = "Viewer Content";
            return title;
        }
    });
    return toolbar_;
}
Also used : ToolbarButton(org.rstudio.core.client.widget.ToolbarButton) ToolbarPopupMenu(org.rstudio.core.client.widget.ToolbarPopupMenu) RSConnectPublishButton(org.rstudio.studio.client.rsconnect.ui.RSConnectPublishButton) PublishHtmlSource(org.rstudio.studio.client.rsconnect.model.PublishHtmlSource) ServerError(org.rstudio.studio.client.server.ServerError) ImageResource2x(org.rstudio.core.client.resources.ImageResource2x) ServerRequestCallback(org.rstudio.studio.client.server.ServerRequestCallback) Toolbar(org.rstudio.core.client.widget.Toolbar)

Example 22 with ToolbarPopupMenu

use of org.rstudio.core.client.widget.ToolbarPopupMenu in project rstudio by rstudio.

the class GitPane method createMainToolbar.

@Override
protected Toolbar createMainToolbar() {
    ToolbarPopupMenu moreMenu = new ToolbarPopupMenu();
    moreMenu.addItem(commands_.vcsRevert().createMenuItem(false));
    moreMenu.addItem(commands_.vcsIgnore().createMenuItem(false));
    moreMenu.addSeparator();
    moreMenu.addItem(commands_.showShellDialog().createMenuItem(false));
    Toolbar toolbar = new Toolbar();
    toolbar.addLeftWidget(commands_.vcsDiff().createToolbarButton());
    toolbar.addLeftSeparator();
    toolbar.addLeftWidget(commands_.vcsCommit().createToolbarButton());
    toolbar.addLeftSeparator();
    toolbar.addLeftWidget(pullButton_ = commands_.vcsPull().createToolbarButton());
    toolbar.addLeftSeparator();
    toolbar.addLeftWidget(pushButton_ = commands_.vcsPush().createToolbarButton());
    toolbar.addLeftSeparator();
    toolbar.addLeftWidget(historyButton_ = commands_.vcsShowHistory().createToolbarButton());
    toolbar.addLeftSeparator();
    toolbar.addLeftWidget(moreButton_ = new ToolbarButton("More", new ImageResource2x(StandardIcons.INSTANCE.more_actions2x()), moreMenu));
    toolbar.addRightWidget(createBranchToolbarButton_);
    toolbar.addRightSeparator();
    toolbar.addRightWidget(switchBranchToolbarButton_);
    toolbar.addRightSeparator();
    toolbar.addRightWidget(new ToolbarButton(commands_.vcsRefresh().getImageResource(), new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            table_.showProgress();
            commands_.vcsRefresh().execute();
        }
    }));
    return toolbar;
}
Also used : CheckoutBranchToolbarButton(org.rstudio.studio.client.workbench.views.vcs.CheckoutBranchToolbarButton) CreateBranchToolbarButton(org.rstudio.studio.client.workbench.views.vcs.CreateBranchToolbarButton) ToolbarButton(org.rstudio.core.client.widget.ToolbarButton) ToolbarPopupMenu(org.rstudio.core.client.widget.ToolbarPopupMenu) ClickHandler(com.google.gwt.event.dom.client.ClickHandler) ClickEvent(com.google.gwt.event.dom.client.ClickEvent) ImageResource2x(org.rstudio.core.client.resources.ImageResource2x) Toolbar(org.rstudio.core.client.widget.Toolbar)

Example 23 with ToolbarPopupMenu

use of org.rstudio.core.client.widget.ToolbarPopupMenu in project rstudio by rstudio.

the class GitPane method showContextMenu.

@Override
public void showContextMenu(final int clientX, final int clientY) {
    final ToolbarPopupMenu menu = new ToolbarPopupMenu();
    menu.addItem(commands_.vcsDiff().createMenuItem(false));
    menu.addSeparator();
    menu.addItem(commands_.vcsRevert().createMenuItem(false));
    menu.addItem(commands_.vcsIgnore().createMenuItem(false));
    menu.addSeparator();
    menu.addItem(commands_.vcsOpen().createMenuItem(false));
    menu.setPopupPositionAndShow(new PositionCallback() {

        @Override
        public void setPosition(int offsetWidth, int offsetHeight) {
            menu.setPopupPosition(clientX, clientY);
        }
    });
}
Also used : ToolbarPopupMenu(org.rstudio.core.client.widget.ToolbarPopupMenu) PositionCallback(com.google.gwt.user.client.ui.PopupPanel.PositionCallback)

Aggregations

ToolbarPopupMenu (org.rstudio.core.client.widget.ToolbarPopupMenu)23 ToolbarButton (org.rstudio.core.client.widget.ToolbarButton)13 ImageResource2x (org.rstudio.core.client.resources.ImageResource2x)10 Toolbar (org.rstudio.core.client.widget.Toolbar)10 PositionCallback (com.google.gwt.user.client.ui.PopupPanel.PositionCallback)6 ServerError (org.rstudio.studio.client.server.ServerError)4 ClickHandler (com.google.gwt.event.dom.client.ClickHandler)3 Event (com.google.gwt.user.client.Event)3 MenuItem (com.google.gwt.user.client.ui.MenuItem)3 ArrayList (java.util.ArrayList)3 SecondaryToolbar (org.rstudio.core.client.widget.SecondaryToolbar)3 RSConnectPublishButton (org.rstudio.studio.client.rsconnect.ui.RSConnectPublishButton)3 JsArrayString (com.google.gwt.core.client.JsArrayString)2 ClickEvent (com.google.gwt.event.dom.client.ClickEvent)2 ImageResource (com.google.gwt.resources.client.ImageResource)2 SuggestOracle (com.google.gwt.user.client.ui.SuggestOracle)2 ScrollableToolbarPopupMenu (org.rstudio.core.client.widget.ScrollableToolbarPopupMenu)2 SearchWidget (org.rstudio.core.client.widget.SearchWidget)2 PublishHtmlSource (org.rstudio.studio.client.rsconnect.model.PublishHtmlSource)2 JsArray (com.google.gwt.core.client.JsArray)1