import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:win_text_editor/frame/widgets/file_explorer_pane.dart'; import 'package:win_text_editor/frame/widgets/tab_manager.dart'; import 'package:win_text_editor/frame/widgets/tab_view.dart'; import 'package:win_text_editor/menus/app_menu.dart'; import 'package:win_text_editor/frame/providers/file_provider.dart'; import 'package:win_text_editor/frame/widgets/console_panel.dart'; class AppScaffold extends StatelessWidget { const AppScaffold({super.key}); @override Widget build(BuildContext context) { return MultiProvider( providers: [ ChangeNotifierProvider(create: (_) => FileProvider()), ChangeNotifierProvider(create: (_) => TabManager()), ], child: Scaffold( backgroundColor: Colors.grey[100], body: Column( children: [ const AppMenu(), Expanded( child: Row( children: [ // 左侧文件树 - 传递双击事件回调 Consumer( builder: (context, tabManager, child) { return FileExplorerPane( onFileDoubleTap: (path) => tabManager.handleFileDoubleTap(path), onFolderDoubleTap: (path) => tabManager.handleFolderDoubleTap(path), ); }, ), // 主内容区 Expanded( child: Consumer( builder: (_, manager, __) => TabView(tabs: manager.tabs, currentTabId: manager.activeTabId), ), ), ], ), ), const ConsolePanel(), ], ), ), ); } }