import React from 'react'; import { Play, Pause, Square, SkipForward, Undo, Redo, ZoomIn, Save, FolderOpen, Download, Clipboard, Home } from 'lucide-react'; type ExecutionMode = 'idle' | 'running' | 'paused'; interface EditorToolbarProps { executionMode: ExecutionMode; canUndo: boolean; canRedo: boolean; hasUnsavedChanges?: boolean; onPlay: () => void; onPause: () => void; onStop: () => void; onStep: () => void; onReset: () => void; onUndo: () => void; onRedo: () => void; onResetView: () => void; onSave?: () => void; onOpen?: () => void; onExport?: () => void; onCopyToClipboard?: () => void; onGoToRoot?: () => void; } export const EditorToolbar: React.FC = ({ executionMode, canUndo, canRedo, hasUnsavedChanges = false, onPlay, onPause, onStop, onStep, onReset, onUndo, onRedo, onResetView, onSave, onOpen, onExport, onCopyToClipboard, onGoToRoot }) => { return (
{/* 文件操作组 */}
{onOpen && ( )} {onSave && ( )} {onExport && ( )} {onCopyToClipboard && ( )}
{/* 分隔符 */}
{/* 执行控制组 */}
{/* 播放按钮 */} {/* 暂停按钮 */} {/* 停止按钮 */} {/* 单步执行按钮 */}
{/* 分隔符 */}
{/* 视图控制 */} {/* 分隔符 */}
{/* 历史控制组 */}
{/* 状态指示器 */}
{executionMode === 'idle' ? 'Idle' : executionMode === 'running' ? 'Running' : 'Paused'}
{onGoToRoot && ( <>
)}
); };