Files
bim_engine/src/components/button-group/toolbar/index.ts

55 lines
2.6 KiB
TypeScript
Raw Normal View History

import { BimButtonGroup } from '../index';
/**
* (Toolbar)
* BimButtonGroup
*/
export class Toolbar extends BimButtonGroup {
/**
*
*/
public async init(): Promise<void> {
await super.init();
// 动态加载默认按钮配置
2025-12-08 10:02:24 +08:00
const { createHomeButton } = await import('./buttons/home');
2025-12-24 19:02:34 +08:00
const { createZoomBoxButton } = await import('./buttons/zoom-box');
const { createLocationButton } = await import('./buttons/location');
const { createWalkMenuButton } = await import('./buttons/walk/walk-menu');
const { createWalkPersonButton } = await import('./buttons/walk/walk-person');
const { createWalkBirdButton } = await import('./buttons/walk/walk-bird');
const { createSettingButton } = await import('./buttons/setting');
const { createInfoButton } = await import('./buttons/info');
2025-12-22 18:48:38 +08:00
const { createMeasureButton } = await import('./buttons/measure');
2025-12-24 19:02:34 +08:00
const { createSectionMenuButton } = await import('./buttons/section/section-menu');
const { createSectionPlaneButton } = await import('./buttons/section/section-plane');
const { createSectionAxisButton } = await import('./buttons/section/section-axis');
const { createSectionBoxButton } = await import('./buttons/section/section-box');
this.addGroup('group-1');
2025-12-08 10:02:24 +08:00
// 使用工厂函数创建按钮,并注入 engine
if (this.engine) {
this.addButton(createHomeButton(this.engine));
2025-12-24 19:02:34 +08:00
// 你要求:在"首页"后面添加"选框放大"
this.addButton(createZoomBoxButton(this.engine));
2025-12-22 18:48:38 +08:00
this.addButton(createMeasureButton(this.engine));
2025-12-24 19:02:34 +08:00
this.addButton(createSectionMenuButton(this.engine));
this.addButton(createSectionPlaneButton(this.engine));
this.addButton(createSectionAxisButton(this.engine));
this.addButton(createSectionBoxButton(this.engine));
this.addButton(createWalkMenuButton(this.engine));
this.addButton(createWalkPersonButton(this.engine));
this.addButton(createWalkBirdButton(this.engine));
this.addButton(createLocationButton(this.engine));
this.addGroup('group-2');
this.addButton(createSettingButton(this.engine));
this.addButton(createInfoButton(this.engine));
2025-12-08 10:02:24 +08:00
} else {
console.warn('[Toolbar] Engine not available when creating buttons.');
}
this.render();
}
}