web_synchronization_tool/lib/windows/windows_main_page.dart

76 lines
1.6 KiB
Dart

import 'package:bitsdojo_window/bitsdojo_window.dart';
import 'package:flutter/material.dart';
import 'package:web_synchronization_tool/windows/socket_tool.dart';
import 'package:web_synchronization_tool/windows/web_grid_view.dart';
import 'package:webview_windows/webview_windows.dart';
import 'package:window_manager/window_manager.dart';
class WindowsPage extends StatefulWidget {
const WindowsPage({super.key});
@override
State<WindowsPage> createState() => _WindowsPageState();
}
class _WindowsPageState extends State<WindowsPage> {
Widget? windowsWebWidget;
WebviewController mainController = WebviewController();
final gridController = WebGridController();
bool initDone = false;
String clickId = '';
String zoomId = '';
@override
void initState() {
super.initState();
initWindow();
controllerInit();
}
initWindow(){
//允许调整窗口大小
windowManager.setResizable(false);
const double width = 1920;
const double height = 1000;
//设置最小大小
const windowSize = Size(width, height);
windowManager.setSize(windowSize);
appWindow.minSize = windowSize;
windowManager.center();
windowManager.focus();
}
Future controllerInit() async {
await mainController.initialize();
mainController.loadUrl('http://www.df6831.com/');
gridController.addWebController(mainController);
setState(() {
initDone = true;
});
}
@override
Widget build(BuildContext context) {
if (initDone == false) return Container();
return Scaffold(
body: WebGridWidget(
controller: gridController,
),
);
}
}