From 7a884063fa311b781552d2de08bbcec3dbfb7897 Mon Sep 17 00:00:00 2001 From: Simon Graband Date: Fri, 14 Apr 2023 14:47:38 +0200 Subject: [PATCH] Add documentation for enhanced tab bar preview Documentation for the feature introduced with https://github.com/eclipse-theia/theia/pull/12350 Contributed on behalf of STMicroelectronics --- src/docs/enhanced_tab_bar_preview.md | 124 +++++++++++++++++++++++++++ src/docs/menu.js | 4 + static/enhanced-preview-custom.png | Bin 0 -> 13850 bytes static/enhanced-preview-setting.png | Bin 0 -> 11447 bytes static/enhanced-preview.png | Bin 0 -> 15041 bytes 5 files changed, 128 insertions(+) create mode 100644 src/docs/enhanced_tab_bar_preview.md create mode 100644 static/enhanced-preview-custom.png create mode 100644 static/enhanced-preview-setting.png create mode 100644 static/enhanced-preview.png diff --git a/src/docs/enhanced_tab_bar_preview.md b/src/docs/enhanced_tab_bar_preview.md new file mode 100644 index 00000000..44accba6 --- /dev/null +++ b/src/docs/enhanced_tab_bar_preview.md @@ -0,0 +1,124 @@ +--- +title: Enhanced Tab Bar Preview +--- + +# Enhanced Tab Bar Preview + +To get a better overview of the widget a tab opens Theia provides functionality for enhanced tab bar preview. With this the user will be presented more information when hovering on a tab. +Since most widgets, containing a lot of information (editors for example), are opened in the main area of Theia the enhanced preview is applied to horizontal tab bars only. + +## Setting to enable this feature + +In order to not break the default hover behavior of Theia this feature is enabled by a preference (`window.tabbar.enhancedPreview`). + +A screenshot of the window.tabbar.enhancedPreview setting in Theia + +After enabling the function the preview will look like this: + +A screenshot of the enhanced preview in Theia + +Note that the values are taken from the widget itself, meaning they can be easily customized. For more information about this take a look [here](#specify-caption-and-label-for-a-widget). + +## Adjusting the styling of the preview + +### Styling of the outer element + +Adjusting the styling of the hover box (already provided by Theia) can be easily done via CSS. +If all hovers should be styled (including ones that are unaffected by the `window.tabbar.enhancedPreview` setting) the `.theia-hover` CSS class can be adjusted. +To only change the styling of the tab bars affected by the `window.tabbar.enhancedPreview` setting (horizontal ones) the `.theia-hover.extended-tab-preview` CSS class can be adjusted instead. +By default the enhanced preview for horizontal tab bars has rounded corners. This is simply achieved by adding a `border-radius` to the `.theia-hover.extended-tab-preview` CSS class: + +```css +.theia-hover.extended-tab-preview { + border-radius: 10px; +} +``` + +### Styling of the content element + +To style the elements inside of the preview, class names are assigned to the different components. +Those are: + +- `.theia-horizontal-tabBar-hover-div` (for the outer box) +- `.theia-horizontal-tabBar-hover-title` (for the title) +- `.theia-horizontal-tabBar-hover-caption` (for the caption). + +If, for example, the preview should be a fixed size. This can achieved by adding a `width` to the `.theia-horizontal-tabBar-hover-div` and a `max-width` to the other two rules. +To then also ensure the text is not going over the boxes boundaries, `word-wrap: break-word` can be added to the latter two rules. + +```css +.theia-horizontal-tabBar-hover-div { + margin: 0px 4px; + width: 100px; +} + +.theia-horizontal-tabBar-hover-title { + font-weight: bolder; + font-size: medium; + margin: 0px 0px; + max-width: 100px; + word-wrap: break-word +} + +.theia-horizontal-tabBar-hover-caption { + font-size: small; + margin: 0px 0px; + margin-top: 4px; + max-width: 100px; + word-wrap: break-word +} +``` + +After those rules are applied the preview will look like this: + +A screenshot of the customized enhanced preview in Theia + +### Changing the content element + +To change the content that is being rendered inside of the preview the `TabBarRenderer` can be extended and a overwritten `renderExtendedTabBarPreview` method can be provided. +If, for example, the preview should only render the caption, the following `CustomTabBarRenderer` could be created: + +```ts +export class CustomTabBarRenderer extends TabBarRenderer { + protected override renderExtendedTabBarPreview = (title: Title) => { + const hoverBox = document.createElement('div'); + hoverBox.classList.add('theia-horizontal-tabBar-hover-div'); + const labelElement = document.createElement('p'); + labelElement.classList.add('theia-horizontal-tabBar-hover-title'); + labelElement.textContent = title.label; + hoverBox.append(labelElement); + return hoverBox; + }; +} +``` + +Now only the `TabBarRendererFactory` has to be bound and the preview will render the way it was specified above. + +```ts + bind(TabBarRendererFactory).toFactory(({ container }) => () => { + const contextMenuRenderer = container.get(ContextMenuRenderer); + const tabBarDecoratorService = container.get(TabBarDecoratorService); + const iconThemeService = container.get(IconThemeService); + const selectionService = container.get(SelectionService); + const commandService = container.get(CommandService); + const corePreferences = container.get(CorePreferences); + const hoverService = container.get(HoverService); + return new CustomTabBarRenderer(contextMenuRenderer, tabBarDecoratorService, iconThemeService, selectionService, commandService, corePreferences, hoverService); + }); +``` + +## Specify caption and label for a widget + +When the `window.tabbar.enhancedPreview` setting is enabled, the user is displayed, on hovering the tab, with the name (label) and some additional information (caption) about the tab. +These values can be provided by the widget: + +```ts + @postConstruct() + protected async init(): Promise { + this.id = GettingStartedWidget.ID; + this.title.label = GettingStartedWidget.LABEL; + this.title.caption = 'Home > Theia > Getting Started'; + this.title.closable = true; +``` + +The provided values will be rendered by the enhanced preview. diff --git a/src/docs/menu.js b/src/docs/menu.js index 43bf6da3..299a72aa 100644 --- a/src/docs/menu.js +++ b/src/docs/menu.js @@ -138,6 +138,10 @@ export const MENU = [ 'Breadcrumbs', 'breadcrumbs' ), + M( + 'Enhanced Tab Bar Preview', + 'enhanced_tab_bar_preview' + ), M( 'Advanced Tips', 'tips' diff --git a/static/enhanced-preview-custom.png b/static/enhanced-preview-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..12c3974a462d1e3a2677971d877cbeb575ab951f GIT binary patch literal 13850 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 ae}a1)Lu(5V{`cn>Kt@7AyjoP>|9=5lqZ?EJ literal 0 HcmV?d00001 diff --git a/static/enhanced-preview-setting.png b/static/enhanced-preview-setting.png new file mode 100644 index 0000000000000000000000000000000000000000..1b7fb01e3857815b1f00b6d52707075f1b29f441 GIT binary patch literal 11447 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 literal 0 HcmV?d00001 diff --git a/static/enhanced-preview.png b/static/enhanced-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..64b9827d39e98a5e8efff559783fbdef2432b61d GIT binary patch literal 15041 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 z