mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-19 01:25:36 -05:00
* Fixing tabbing logic for tab headers * Renaming stuff Making null checks concise Adding comments * Renaming css class and interfaces from active to selected * Renaming styling classes and objects * Changing tabbing logic to match w3 behavior * Fixing focus logic in tab * Adding helper comment * Code cleanup
89 lines
4.9 KiB
TypeScript
89 lines
4.9 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { IThemeService } from 'vs/platform/theme/common/themeService';
|
|
import { IDisposable } from 'vs/base/common/lifecycle';
|
|
import * as cr from 'vs/platform/theme/common/colorRegistry';
|
|
import * as sqlcr from 'sql/platform/theme/common/colorRegistry';
|
|
import { IThemable } from 'vs/base/common/styler';
|
|
import { attachStyler, IStyleOverrides } from 'vs/platform/theme/common/styler';
|
|
import {
|
|
SIDE_BAR_SECTION_HEADER_FOREGROUND, SIDE_BAR_BACKGROUND, SIDE_BAR_SECTION_HEADER_BACKGROUND, SIDE_BAR_DRAG_AND_DROP_BACKGROUND,
|
|
PANEL_ACTIVE_TITLE_BORDER, PANEL_ACTIVE_TITLE_FOREGROUND, PANEL_INACTIVE_TITLE_FOREGROUND
|
|
} from 'vs/workbench/common/theme';
|
|
import { VERTICAL_TAB_ACTIVE_BACKGROUND, DASHBOARD_BORDER } from 'sql/workbench/common/theme';
|
|
|
|
export interface IModalDialogStyleOverrides extends IStyleOverrides {
|
|
dialogForeground?: cr.ColorIdentifier,
|
|
dialogHeaderAndFooterBackground?: cr.ColorIdentifier,
|
|
dialogBodyBackground?: cr.ColorIdentifier,
|
|
dialogBorder?: cr.ColorIdentifier,
|
|
dialogInteriorBorder?: cr.ColorIdentifier,
|
|
dialogExteriorBorder?: cr.ColorIdentifier,
|
|
dialogShadowColor?: cr.ColorIdentifier
|
|
}
|
|
|
|
export function attachModalDialogStyler(widget: IThemable, themeService: IThemeService, style?: IModalDialogStyleOverrides): IDisposable {
|
|
return attachStyler(themeService, {
|
|
dialogForeground: (style && style.dialogForeground) || cr.foreground,
|
|
dialogBorder: cr.contrastBorder,
|
|
dialogHeaderAndFooterBackground: (style && style.dialogHeaderAndFooterBackground) || SIDE_BAR_BACKGROUND,
|
|
dialogBodyBackground: (style && style.dialogBodyBackground) || cr.editorBackground
|
|
} as IModalDialogStyleOverrides, widget);
|
|
}
|
|
|
|
export function attachPanelStyler(widget: IThemable, themeService: IThemeService) {
|
|
return attachStyler(themeService, {
|
|
headerForeground: SIDE_BAR_SECTION_HEADER_FOREGROUND,
|
|
headerBackground: SIDE_BAR_SECTION_HEADER_BACKGROUND,
|
|
// headerHighContrastBorder: index === 0 ? null : contrastBorder,
|
|
dropBackground: SIDE_BAR_DRAG_AND_DROP_BACKGROUND
|
|
}, widget);
|
|
}
|
|
|
|
export function attachTabbedPanelStyler(widget: IThemable, themeService: IThemeService) {
|
|
return attachStyler(themeService, {
|
|
titleSelectedForeground: PANEL_ACTIVE_TITLE_FOREGROUND,
|
|
titleSelectedBorder: PANEL_ACTIVE_TITLE_BORDER,
|
|
titleUnSelectedForeground: PANEL_INACTIVE_TITLE_FOREGROUND,
|
|
focusBorder: cr.focusBorder,
|
|
outline: cr.activeContrastBorder,
|
|
selectedBackgroundForVerticalLayout: VERTICAL_TAB_ACTIVE_BACKGROUND,
|
|
border: DASHBOARD_BORDER,
|
|
selectedTabContrastBorder: cr.activeContrastBorder
|
|
}, widget);
|
|
}
|
|
|
|
export function attachCalloutDialogStyler(widget: IThemable, themeService: IThemeService, style?: IModalDialogStyleOverrides): IDisposable {
|
|
return attachStyler(themeService, {
|
|
dialogForeground: (style && style.dialogForeground) || sqlcr.calloutDialogForeground,
|
|
dialogHeaderAndFooterBackground: (style && style.dialogHeaderAndFooterBackground) || sqlcr.calloutDialogHeaderFooterBackground,
|
|
dialogBodyBackground: (style && style.dialogBodyBackground) || sqlcr.calloutDialogBodyBackground,
|
|
dialogInteriorBorder: (style && style.dialogInteriorBorder) || sqlcr.calloutDialogInteriorBorder,
|
|
dialogExteriorBorder: (style && style.dialogExteriorBorder) || sqlcr.calloutDialogExteriorBorder,
|
|
dialogShadowColor: (style && style.dialogShadowColor) || sqlcr.calloutDialogShadowColor
|
|
} as IModalDialogStyleOverrides, widget);
|
|
}
|
|
|
|
export function attachCustomDialogStyler(widget: IThemable, themeService: IThemeService, dialogStyle?: string, style?: IModalDialogStyleOverrides): IDisposable {
|
|
if (dialogStyle === 'callout') {
|
|
return attachStyler(themeService, {
|
|
dialogForeground: (style && style.dialogForeground) || sqlcr.calloutDialogForeground,
|
|
dialogHeaderAndFooterBackground: (style && style.dialogHeaderAndFooterBackground) || sqlcr.calloutDialogHeaderFooterBackground,
|
|
dialogBodyBackground: (style && style.dialogBodyBackground) || sqlcr.calloutDialogBodyBackground,
|
|
dialogInteriorBorder: (style && style.dialogInteriorBorder) || sqlcr.calloutDialogInteriorBorder,
|
|
dialogExteriorBorder: (style && style.dialogExteriorBorder) || sqlcr.calloutDialogExteriorBorder,
|
|
dialogShadowColor: (style && style.dialogShadowColor) || sqlcr.calloutDialogShadowColor
|
|
} as IModalDialogStyleOverrides, widget);
|
|
} else {
|
|
return attachStyler(themeService, {
|
|
dialogForeground: (style && style.dialogForeground) || cr.foreground,
|
|
dialogBorder: cr.contrastBorder,
|
|
dialogHeaderAndFooterBackground: (style && style.dialogHeaderAndFooterBackground) || SIDE_BAR_BACKGROUND,
|
|
dialogBodyBackground: (style && style.dialogBodyBackground) || cr.editorBackground
|
|
} as IModalDialogStyleOverrides, widget);
|
|
}
|
|
}
|