76 lines
1.6 KiB
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,
|
|
),
|
|
);
|
|
}
|
|
|
|
|
|
}
|