block_element_page.dart 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import 'dart:math';
  2. import 'package:fis_lib_report/pages/components/input_imageList.dart';
  3. import 'package:fis_lib_report/pages/helpler.dart';
  4. import 'package:fis_lib_report/pages/paragraph_page.dart';
  5. import 'package:fis_lib_report/pages/rt_table.dart';
  6. import 'package:fis_lib_report/report/cellPostion.dart';
  7. import 'package:fis_lib_report/report/element_type.dart';
  8. import 'package:fis_lib_report/report/inputImageList.dart';
  9. import 'package:fis_lib_report/report/interfaces/block_element.dart';
  10. import 'package:fis_lib_report/report/paragraph.dart';
  11. import 'package:fis_lib_report/report/rt_table.dart';
  12. import 'package:fis_lib_report/report_info/report_info.dart';
  13. import 'package:flutter/material.dart';
  14. class BlockElementPage extends StatefulWidget {
  15. const BlockElementPage({required this.element, Key? key}) : super(key: key);
  16. final IBlockElement element;
  17. @override
  18. State<StatefulWidget> createState() {
  19. return _BlockElementState();
  20. }
  21. }
  22. class _BlockElementState extends State<BlockElementPage> {
  23. ElementType? _type;
  24. @override
  25. initState() {
  26. IBlockElement e = widget.element;
  27. _type = e.elementType!;
  28. super.initState();
  29. }
  30. @override
  31. Widget build(BuildContext context) {
  32. if (_type != null && _type!.name == ElementType.rtTable!.name) {
  33. RTTable t = widget.element as RTTable;
  34. return RTTablePage(element: t);
  35. } else if (_type != null && _type!.name == ElementType.paragraph!.name) {
  36. final paragraph = widget.element as Paragraph;
  37. return ParagraphPage(paragraph: paragraph);
  38. } else if (_type != null && _type!.name == ElementType.imageList!.name) {
  39. final inputImageList = widget.element as InputImageList;
  40. return RInputImageList(inputImageList);
  41. }
  42. return Container(
  43. height: 20,
  44. decoration: TestBoxDecoration.buildDecoration(),
  45. );
  46. }
  47. }