block_element_page.dart 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 Container(
  35. alignment: Alignment.center,
  36. child: RTTablePage(element: t),
  37. );
  38. } else if (_type != null && _type!.name == ElementType.paragraph!.name) {
  39. final paragraph = widget.element as Paragraph;
  40. return ParagraphPage(paragraph: paragraph);
  41. } else if (_type != null && _type!.name == ElementType.imageList!.name) {
  42. final inputImageList = widget.element as InputImageList;
  43. return RInputImageList(inputImageList);
  44. }
  45. return Container(
  46. height: 20,
  47. decoration: TestBoxDecoration.buildDecoration(),
  48. );
  49. }
  50. }