Ribbon-UI Phase 1: datengetriebene Tab-Leiste (2D/3D/BIM/Ansichten), additiv unter TopBar
This commit is contained in:
+22
@@ -70,6 +70,7 @@ import { ResourceManager } from "./ui/ResourceManager";
|
||||
import type { ResourceManagerHandlers } from "./ui/ResourceManager";
|
||||
import { HatchSwatch } from "./ui/hatchPreview";
|
||||
import { TopBar } from "./ui/TopBar";
|
||||
import { RibbonBar } from "./ui/ribbon/RibbonBar";
|
||||
import { Dropdown } from "./ui/Dropdown";
|
||||
import type { DropdownItem } from "./ui/Dropdown";
|
||||
import { TextEditorDialog } from "./ui/TextEditorDialog";
|
||||
@@ -810,6 +811,16 @@ export default function App() {
|
||||
setActiveTool(id);
|
||||
};
|
||||
|
||||
// Ribbon-Befehl (Ändern-Gruppe u. a.): startet einen Engine-Befehl OHNE
|
||||
// eigenes Werkzeug (kein ToolId). Läuft über DIESELBE Engine wie das Tippen des
|
||||
// Befehls; das Werkzeug-Highlight fällt auf „Auswahl" zurück, das Aktiv-
|
||||
// Highlight des Ribbon-Befehls spiegelt der laufende Befehl (engineView).
|
||||
const onRunCommand = (name: string) => {
|
||||
engine.start(name);
|
||||
setActiveTool("select");
|
||||
requestAnimationFrame(() => commandLineRef.current?.focus());
|
||||
};
|
||||
|
||||
// 3D-Viewport als Erstellungs-Fläche: der Viewport projiziert den Cursor auf
|
||||
// die Geschoss-Arbeitsebene und liefert einen rohen Modell-`Vec2`; wir füttern
|
||||
// ihn in DIESELBE ansichts-agnostische CommandEngine wie PlanView (move/pick).
|
||||
@@ -3244,6 +3255,17 @@ export default function App() {
|
||||
textTarget={textTarget}
|
||||
/>
|
||||
|
||||
{/* Ribbon-Oberleiste (2D · 3D · BIM · Ansichten) — additiv unter der TopBar.
|
||||
Teilt sich denselben Aktivierungs-Pfad wie die Werkzeug-Sidebar; die
|
||||
Sidebar bleibt vorerst erhalten (Plan-Doc Phase 3 entfernt sie). */}
|
||||
<RibbonBar
|
||||
activeTool={activeTool}
|
||||
activeCommand={engineView.commandName}
|
||||
toolsEnabled={activeLevel.kind === "floor"}
|
||||
onSelectTool={onSelectTool}
|
||||
onRunCommand={onRunCommand}
|
||||
/>
|
||||
|
||||
<div className="body">
|
||||
{/* Linkes Dock: gestapelte Gruppen (Werkzeuge oben, Zeichnungsebenen/
|
||||
Ebenen unten). Jede Gruppe baut über buildHost ihren eigenen
|
||||
|
||||
Reference in New Issue
Block a user