service.dart 1.9 KB

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