use of org.rstudio.studio.client.workbench.views.source.model.SourceWindowParams in project rstudio by rstudio.
the class SourceSatelliteWindow method onInitialize.
@Override
protected void onInitialize(LayoutPanel mainPanel, JavaScriptObject params) {
// read the params and set up window ordinal / title
SourceWindowParams windowParams = params.cast();
String title = null;
if (windowParams != null) {
pWindowManager_.get().setSourceWindowOrdinal(windowParams.getOrdinal());
title = windowParams.getTitle();
}
if (title == null)
title = "";
else
title += " - ";
title += "RStudio Source Editor";
Window.setTitle(title);
// set up the source window
SourceWindow sourceWindow = pSourceWindow_.get();
if (windowParams != null && windowParams.getDocId() != null && windowParams.getSourcePosition() != null) {
// if this source window is being opened to pop out a particular doc,
// read that doc's ID and current position so we can restore it
sourceWindow.setInitialDoc(windowParams.getDocId(), windowParams.getSourcePosition());
}
SourceSatellitePresenter appPresenter = pPresenter_.get();
// initialize build commands (we want these to work from source windows)
BuildCommands.setBuildCommandState(RStudioGinjector.INSTANCE.getCommands(), RStudioGinjector.INSTANCE.getSession().getSessionInfo());
// menu entries aren't accessible from the source window)
if (Desktop.isDesktop() && Desktop.getFrame().isCocoa()) {
pFileMRUList_.get();
pProjectMRUList_.get();
}
// initialize working directory
if (!StringUtil.isNullOrEmpty(windowParams.getWorkingDir())) {
pEventBus_.get().fireEvent(new WorkingDirChangedEvent(windowParams.getWorkingDir()));
}
// make it fill the containing layout panel
Widget presWidget = appPresenter.asWidget();
mainPanel.add(presWidget);
mainPanel.setWidgetLeftRight(presWidget, 0, Unit.PX, 0, Unit.PX);
mainPanel.setWidgetTopBottom(presWidget, 0, Unit.PX, 0, Unit.PX);
}
Aggregations