diff --git a/src/gwt/src/org/rstudio/core/client/theme/res/ThemeResources.java b/src/gwt/src/org/rstudio/core/client/theme/res/ThemeResources.java index 3767c341ad5..7455ff96a43 100644 --- a/src/gwt/src/org/rstudio/core/client/theme/res/ThemeResources.java +++ b/src/gwt/src/org/rstudio/core/client/theme/res/ThemeResources.java @@ -65,6 +65,8 @@ public interface ThemeResources extends ClientBundle DataResource horizontalHandle(); ImageResource rstudio(); + ImageResource rstudio_small(); + @Source("backgroundGradient.png") DataResource backgroundGradient(); diff --git a/src/gwt/src/org/rstudio/core/client/theme/res/rstudio_small.png b/src/gwt/src/org/rstudio/core/client/theme/res/rstudio_small.png new file mode 100644 index 00000000000..abfffa46e02 Binary files /dev/null and b/src/gwt/src/org/rstudio/core/client/theme/res/rstudio_small.png differ diff --git a/src/gwt/src/org/rstudio/studio/client/application/ui/ApplicationHeader.java b/src/gwt/src/org/rstudio/studio/client/application/ui/ApplicationHeader.java index d3c57140efe..595d1dd9989 100644 --- a/src/gwt/src/org/rstudio/studio/client/application/ui/ApplicationHeader.java +++ b/src/gwt/src/org/rstudio/studio/client/application/ui/ApplicationHeader.java @@ -17,4 +17,7 @@ public interface ApplicationHeader extends IsWidget { int getPreferredHeight(); + + boolean isToolbarVisible(); + void showToolbar(boolean showToolbar); } diff --git a/src/gwt/src/org/rstudio/studio/client/application/ui/ApplicationWindow.java b/src/gwt/src/org/rstudio/studio/client/application/ui/ApplicationWindow.java index 2fbc0ae8124..638fbf44414 100644 --- a/src/gwt/src/org/rstudio/studio/client/application/ui/ApplicationWindow.java +++ b/src/gwt/src/org/rstudio/studio/client/application/ui/ApplicationWindow.java @@ -47,14 +47,15 @@ public ApplicationWindow(ApplicationHeader applicationHeader, applicationPanel_ = new LayoutPanel(); // header bar - applicationHeader_ = applicationHeader.asWidget(); - applicationHeader_.setWidth("100%"); + applicationHeader_ = applicationHeader; + Widget applicationHeaderWidget = applicationHeader_.asWidget(); + applicationHeaderWidget.setWidth("100%"); applicationPanel_.add(applicationHeader_); - headerHeight_ = applicationHeader.getPreferredHeight(); + int headerHeight = applicationHeader.getPreferredHeight(); applicationPanel_.setWidgetTopHeight(applicationHeader_, 0, Style.Unit.PX, - headerHeight_, + headerHeight, Style.Unit.PX); applicationPanel_.setWidgetLeftRight(applicationHeader_, 0, @@ -62,7 +63,7 @@ public ApplicationWindow(ApplicationHeader applicationHeader, 0, Style.Unit.PX); - applicationHeader_.setVisible(false); + applicationHeaderWidget.setVisible(false); // main view container initWidget(applicationPanel_); @@ -125,7 +126,7 @@ public void showWorkbenchView(Widget workbenchScreen) { workbenchScreen_ = workbenchScreen; - applicationHeader_.setVisible(true); + applicationHeader_.asWidget().setVisible(true); applicationPanel_.add(workbenchScreen_); updateWorkbenchTopBottom(); applicationPanel_.setWidgetLeftRight(workbenchScreen_, @@ -171,7 +172,7 @@ private void updateWorkbenchTopBottom() { applicationPanel_.setWidgetTopBottom( workbenchScreen_, - headerHeight_, + applicationHeader_.getPreferredHeight(), Unit.PX, workbenchBottom_, Unit.PX); @@ -248,8 +249,7 @@ public void onResize() // main applilcation UI components private LayoutPanel applicationPanel_ ; - private Widget applicationHeader_ ; - private int headerHeight_ ; + private ApplicationHeader applicationHeader_ ; // active serialization progress message private ApplicationSerializationProgress activeSerializationProgress_; diff --git a/src/gwt/src/org/rstudio/studio/client/application/ui/impl/DesktopApplicationHeader.java b/src/gwt/src/org/rstudio/studio/client/application/ui/impl/DesktopApplicationHeader.java index ce8f002dce7..3eabf376dfe 100644 --- a/src/gwt/src/org/rstudio/studio/client/application/ui/impl/DesktopApplicationHeader.java +++ b/src/gwt/src/org/rstudio/studio/client/application/ui/impl/DesktopApplicationHeader.java @@ -104,6 +104,16 @@ public void onShowFolder(ShowFolderEvent event) ThemeStyles styles = ThemeResources.INSTANCE.themeStyles(); toolbar_.addStyleName(styles.desktopGlobalToolbar()); } + + public boolean isToolbarVisible() + { + return toolbar_.isVisible(); + } + + public void showToolbar(boolean showToolbar) + { + + } @Handler void onUndoDummy() @@ -155,7 +165,10 @@ void onShowAboutDialog() public int getPreferredHeight() { - return 32; + if (toolbar_.isVisible()) + return 32; + else + return 5; } public Widget asWidget() diff --git a/src/gwt/src/org/rstudio/studio/client/application/ui/impl/WebApplicationHeader.java b/src/gwt/src/org/rstudio/studio/client/application/ui/impl/WebApplicationHeader.java index 71ee115b3fe..f989b078318 100644 --- a/src/gwt/src/org/rstudio/studio/client/application/ui/impl/WebApplicationHeader.java +++ b/src/gwt/src/org/rstudio/studio/client/application/ui/impl/WebApplicationHeader.java @@ -146,11 +146,11 @@ public void onSessionInit(SessionInitEvent sie) }); // create toolbar - GlobalToolbar toolbar = new GlobalToolbar(commands, fileTypeCommands); - toolbar.addStyleName(themeResources.themeStyles().webGlobalToolbar()); + toolbar_ = new GlobalToolbar(commands, fileTypeCommands); + toolbar_.addStyleName(themeResources.themeStyles().webGlobalToolbar()); // add widgets to header panel - outerPanel.add(new HeaderPanel(headerBarPanel, toolbar)); + outerPanel.add(new HeaderPanel(headerBarPanel, toolbar_)); // logo Image logo = new Image(ThemeResources.INSTANCE.rstudio()); @@ -164,6 +164,16 @@ public void onSessionInit(SessionInitEvent sie) // initialize widget initWidget(outerPanel); } + + public boolean isToolbarVisible() + { + return toolbar_.isVisible(); + } + + public void showToolbar(boolean showToolbar) + { + + } private native final void suppressBrowserForwardBack() /*-{ var outerWindow = $wnd.parent; @@ -333,6 +343,7 @@ public Widget asWidget() private HorizontalPanel headerBarCommandsPanel_; private AppMenuBar mainMenu_; + private GlobalToolbar toolbar_; private EventBus eventBus_; private GlobalDisplay globalDisplay_; } diff --git a/src/gwt/src/org/rstudio/studio/client/application/ui/impl/header/menubarLeft.png b/src/gwt/src/org/rstudio/studio/client/application/ui/impl/header/menubarLeft.png new file mode 100755 index 00000000000..24a0ec34780 Binary files /dev/null and b/src/gwt/src/org/rstudio/studio/client/application/ui/impl/header/menubarLeft.png differ diff --git a/src/gwt/src/org/rstudio/studio/client/application/ui/impl/header/menubarRight.png b/src/gwt/src/org/rstudio/studio/client/application/ui/impl/header/menubarRight.png new file mode 100755 index 00000000000..88f04c39784 Binary files /dev/null and b/src/gwt/src/org/rstudio/studio/client/application/ui/impl/header/menubarRight.png differ diff --git a/src/gwt/src/org/rstudio/studio/client/application/ui/impl/header/menubarTile.png b/src/gwt/src/org/rstudio/studio/client/application/ui/impl/header/menubarTile.png new file mode 100755 index 00000000000..f439bfd758c Binary files /dev/null and b/src/gwt/src/org/rstudio/studio/client/application/ui/impl/header/menubarTile.png differ