private StatusBarWidget statusBar_;
private Toolbar createToolbar(TextFileType fileType)
{
Toolbar toolbar = new EditingTargetToolbar(commands_);
toolbar.addLeftWidget(commands_.saveSourceDoc().createToolbarButton());
sourceOnSave_.getElement().getStyle().setMarginRight(0, Unit.PX);
toolbar.addLeftWidget(sourceOnSave_);
srcOnSaveLabel_.getElement().getStyle().setMarginRight(9, Unit.PX);
toolbar.addLeftWidget(srcOnSaveLabel_);
toolbar.addLeftSeparator();
toolbar.addLeftWidget(commands_.checkSpelling().createToolbarButton());
toolbar.addLeftWidget(findReplace_.createFindReplaceButton());
toolbar.addLeftWidget(createCodeTransformMenuButton());
notebookSeparatorWidget_ = toolbar.addLeftSeparator();
toolbar.addLeftWidget(notebookToolbarButton_ =
commands_.compileNotebook().createToolbarButton());
int mod = BrowseCap.hasMetaKey() ? KeyboardShortcut.META :
KeyboardShortcut.CTRL;
String cmdText =
new KeyboardShortcut(mod + KeyboardShortcut.SHIFT, 'K').toString(true);
cmdText = DomUtils.htmlToText(cmdText);
notebookToolbarButton_.setTitle("Compile Notebook (" + cmdText + ")");
texSeparatorWidget_ = toolbar.addLeftSeparator();
toolbar.addLeftWidget(texToolbarButton_ = createLatexFormatButton());
ToolbarPopupMenu helpMenu = new ToolbarPopupMenu();
helpMenu.addItem(commands_.usingRMarkdownHelp().createMenuItem(false));
helpMenu.addItem(commands_.authoringRPresentationsHelp().createMenuItem(false));
helpMenu.addSeparator();
helpMenu.addItem(commands_.markdownHelp().createMenuItem(false));
helpMenuButton_ = new ToolbarButton(null,
StandardIcons.INSTANCE.help(),
helpMenu);
toolbar.addLeftWidget(helpMenuButton_);
toolbar.addLeftWidget(rcppHelpButton_ = commands_.rcppHelp().createToolbarButton());
toolbar.addLeftSeparator();
toolbar.addLeftWidget(previewHTMLButton_ = commands_.previewHTML().createToolbarButton());
knitDocumentButton_ = commands_.knitDocument().createToolbarButton(false);
knitDocumentButton_.getElement().getStyle().setMarginRight(2, Unit.PX);
toolbar.addLeftWidget(knitDocumentButton_);
toolbar.addLeftWidget(compilePdfButton_ = commands_.compilePDF().createToolbarButton());
rmdFormatButton_ = new ToolbarPopupMenuButton(false, true);
toolbar.addLeftWidget(rmdFormatButton_);
toolbar.addLeftWidget(editRmdFormatButton_ = commands_.editRmdFormatOptions().createToolbarButton(false));
toolbar.addLeftSeparator();
toolbar.addLeftWidget(commands_.synctexSearch().createToolbarButton());
toolbar.addRightWidget(runButton_ = commands_.executeCode().createToolbarButton(false));
toolbar.addRightSeparator();
toolbar.addRightWidget(runLastButton_ = commands_.executeLastCode().createToolbarButton(false));
toolbar.addRightSeparator();
final String SOURCE_BUTTON_TITLE = "Source the active document";
sourceButton_ = new ToolbarButton(
"Source",
commands_.sourceActiveDocument().getImageResource(),
new ClickHandler()
{
@Override
public void onClick(ClickEvent event)
{
if (uiPrefs_.sourceWithEcho().getValue())
commands_.sourceActiveDocumentWithEcho().execute();
else
commands_.sourceActiveDocument().execute();
}
});
sourceButton_.setTitle(SOURCE_BUTTON_TITLE);
toolbar.addRightWidget(sourceButton_);
uiPrefs_.sourceWithEcho().addValueChangeHandler(
new ValueChangeHandler<Boolean>() {
@Override
public void onValueChange(ValueChangeEvent<Boolean> event)
{
if (event.getValue())
sourceButton_.setTitle(SOURCE_BUTTON_TITLE + " (with echo)");
else
sourceButton_.setTitle(SOURCE_BUTTON_TITLE);
}
});
ToolbarPopupMenu sourceMenu = new ToolbarPopupMenu();
sourceMenu.addItem(commands_.sourceActiveDocument().createMenuItem(false));
sourceMenu.addItem(commands_.sourceActiveDocumentWithEcho().createMenuItem(false));
sourceMenuButton_ = new ToolbarButton(sourceMenu, true);
toolbar.addRightWidget(sourceMenuButton_);
toolbar.addRightSeparator();
ToolbarPopupMenu chunksMenu = new ToolbarPopupMenu();
chunksMenu.addItem(commands_.insertChunk().createMenuItem(false));
chunksMenu.addSeparator();
chunksMenu.addItem(commands_.jumpTo().createMenuItem(false));
chunksMenu.addSeparator();
chunksMenu.addItem(commands_.executePreviousChunks().createMenuItem(false));
chunksMenu.addItem(commands_.executeCurrentChunk().createMenuItem(false));
chunksMenu.addItem(commands_.executeNextChunk().createMenuItem(false));
chunksMenu.addSeparator();
chunksMenu.addItem(commands_.executeAllCode().createMenuItem(false));
chunksButton_ = new ToolbarButton(
"Chunks",
StandardIcons.INSTANCE.chunk_menu(),
chunksMenu,
true);
toolbar.addRightWidget(chunksButton_);
ToolbarPopupMenu shinyLaunchMenu = shinyViewerMenu_;
shinyLaunchButton_ = new ToolbarButton(
"",
StandardIcons.INSTANCE.viewer_window(),
shinyLaunchMenu,
true);
shinyLaunchButton_.setVisible(false);
toolbar.addRightWidget(shinyLaunchButton_);
return toolbar;
}