convert_ppt_options_widget.dart 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import 'package:ConversionFlutterDemo/models/convert_contain_options_bean.dart';
  2. import 'package:ConversionFlutterDemo/states/convert_options_provider.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:provider/provider.dart';
  5. class ConvertPPTOptionsWidget extends StatefulWidget {
  6. const ConvertPPTOptionsWidget({Key? key}) : super(key: key);
  7. @override
  8. State<ConvertPPTOptionsWidget> createState() =>
  9. _ConvertPPTOptionsWidgetState();
  10. }
  11. class _ConvertPPTOptionsWidgetState extends State<ConvertPPTOptionsWidget> {
  12. @override
  13. Widget build(BuildContext context) {
  14. bool containImages = context.select<ConvertOptionsProvider, bool>(
  15. (value) => value.pptOptions.containImages);
  16. bool containAnnotations = context.select<ConvertOptionsProvider, bool>(
  17. (value) => value.pptOptions.containAnnotations);
  18. return Padding(
  19. padding: EdgeInsets.all(8),
  20. child: Column(
  21. mainAxisSize: MainAxisSize.min,
  22. children: [
  23. Row(
  24. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  25. children: [
  26. const Text('ContainImages'),
  27. Switch(
  28. value: containImages,
  29. onChanged: (value) {
  30. context
  31. .read<ConvertOptionsProvider>()
  32. .changePPTOptions(containImages: value);
  33. })
  34. ],
  35. ),
  36. Row(
  37. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  38. children: [
  39. const Text('ContainAnnotations'),
  40. Switch(
  41. value: containAnnotations,
  42. onChanged: (value) {
  43. context
  44. .read<ConvertOptionsProvider>()
  45. .changePPTOptions(containAnnotations: value);
  46. })
  47. ],
  48. )
  49. ],
  50. ));
  51. }
  52. }