// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // ignore_for_file: invalid_use_of_internal_member // ignore_for_file: implementation_imports import 'package:flutter/material.dart'; import 'dialog_window_content.dart'; import 'regular_window_content.dart'; import 'package:flutter/src/widgets/_window.dart'; /// Responsible for rendering the appropriate content for a window based on /// the type of the window. class WindowContent extends StatelessWidget { const WindowContent({ required this.windowKey, required this.controller, required this.onDestroyed, required this.onError, super.key, }); final Key windowKey; final BaseWindowController controller; final VoidCallback onDestroyed; final VoidCallback onError; @override Widget build(BuildContext context) { return switch (controller) { final RegularWindowController regular => RegularWindow( key: windowKey, controller: regular, child: MaterialApp(home: RegularWindowContent(window: regular)), ), final DialogWindowController dialog => DialogWindow( key: windowKey, controller: dialog, child: MaterialApp(home: DialogWindowContent(window: dialog)), ), TooltipWindowController() => throw UnimplementedError(), PopupWindowController() => throw UnimplementedError(), }; } }