service.dart 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import 'package:flowy_editor/service/keyboard_service.dart';
  2. import 'package:flowy_editor/service/render_plugin_service.dart';
  3. import 'package:flowy_editor/service/toolbar_service.dart';
  4. import 'package:flowy_editor/service/selection_service.dart';
  5. import 'package:flutter/material.dart';
  6. class FlowyService {
  7. // selection service
  8. final selectionServiceKey = GlobalKey(debugLabel: 'flowy_selection_service');
  9. FlowySelectionService get selectionService {
  10. assert(selectionServiceKey.currentState != null &&
  11. selectionServiceKey.currentState is FlowySelectionService);
  12. return selectionServiceKey.currentState! as FlowySelectionService;
  13. }
  14. // keyboard service
  15. final keyboardServiceKey = GlobalKey(debugLabel: 'flowy_keyboard_service');
  16. FlowyKeyboardService? get keyboardService {
  17. if (keyboardServiceKey.currentState != null &&
  18. keyboardServiceKey.currentState is FlowyKeyboardService) {
  19. return keyboardServiceKey.currentState! as FlowyKeyboardService;
  20. }
  21. return null;
  22. }
  23. // input service
  24. final inputServiceKey = GlobalKey(debugLabel: 'flowy_input_service');
  25. // render plugin service
  26. late FlowyRenderPlugin renderPluginService;
  27. // toolbar service
  28. final toolbarServiceKey = GlobalKey(debugLabel: 'flowy_toolbar_service');
  29. ToolbarService? get toolbarService {
  30. if (toolbarServiceKey.currentState != null &&
  31. toolbarServiceKey.currentState is ToolbarService) {
  32. return toolbarServiceKey.currentState! as ToolbarService;
  33. }
  34. return null;
  35. }
  36. }