98 lines
2.2 KiB
Dart
98 lines
2.2 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.addMainController(mainController);
|
|
|
|
setState(() {
|
|
initDone = true;
|
|
});
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
body: WebGridWidget(
|
|
controller: gridController,
|
|
),
|
|
floatingActionButton: Row(
|
|
mainAxisAlignment: MainAxisAlignment.end,
|
|
children: [
|
|
FloatingActionButton(
|
|
onPressed: (){
|
|
gridController.addWeb();
|
|
},
|
|
heroTag: 1,
|
|
tooltip: '添加网页',
|
|
child: const Icon(Icons.add),
|
|
),
|
|
const SizedBox(width: 20,)
|
|
,
|
|
FloatingActionButton(
|
|
onPressed: (){
|
|
gridController.addAllWeb();
|
|
},
|
|
heroTag: 2,
|
|
tooltip: '添加10个网页',
|
|
child: const Row(
|
|
children: [Icon(Icons.add),Text('10')],
|
|
),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
|
|
|
|
}
|