Files
arduino-ide/arduino-ide-extension/src/browser/toolbar/arduino-toolbar-contribution.ts
Akos Kitta 9ffe421fab fix: restored window.titleBarStyle
Ref: #1733

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
2023-02-15 14:32:08 +01:00

68 lines
1.9 KiB
TypeScript

import {
FrontendApplicationContribution,
FrontendApplication,
Widget,
Message,
} from '@theia/core/lib/browser';
import { injectable, inject } from '@theia/core/shared/inversify';
import { ArduinoToolbar } from './arduino-toolbar';
import { TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
import { CommandRegistry } from '@theia/core';
import { LabelParser } from '@theia/core/lib/browser/label-parser';
export class ArduinoToolbarContainer extends Widget {
protected toolbars: ArduinoToolbar[];
constructor(...toolbars: ArduinoToolbar[]) {
super();
this.id = 'arduino-toolbar-container';
this.toolbars = toolbars;
}
override onAfterAttach(msg: Message): void {
super.onAfterAttach(msg);
for (const toolbar of this.toolbars) {
Widget.attach(toolbar, this.node);
}
}
}
@injectable()
export class ArduinoToolbarContribution
implements FrontendApplicationContribution
{
protected arduinoToolbarContainer: ArduinoToolbarContainer;
constructor(
@inject(TabBarToolbarRegistry)
protected tabBarToolBarRegistry: TabBarToolbarRegistry,
@inject(CommandRegistry) protected commandRegistry: CommandRegistry,
@inject(LabelParser) protected labelParser: LabelParser
) {
const leftToolbarWidget = new ArduinoToolbar(
tabBarToolBarRegistry,
commandRegistry,
labelParser,
'left'
);
const rightToolbarWidget = new ArduinoToolbar(
tabBarToolBarRegistry,
commandRegistry,
labelParser,
'right'
);
this.arduinoToolbarContainer = new ArduinoToolbarContainer(
leftToolbarWidget,
rightToolbarWidget
);
}
onStart(app: FrontendApplication): void {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const options = <any>{
area: 'toolbar',
};
app.shell.addWidget(this.arduinoToolbarContainer, options);
}
}