getButtonLabel static method

String getButtonLabel(
  1. BuildContext context,
  2. ContextMenuButtonItem buttonItem
)

Returns the default button label String for the button of the given ContextMenuButtonType on any platform.

Implementation

static String getButtonLabel(BuildContext context, ContextMenuButtonItem buttonItem) {
  if (buttonItem.label != null) {
    return buttonItem.label!;
  }

  switch (Theme.of(context).platform) {
    case TargetPlatform.iOS:
    case TargetPlatform.macOS:
      return CupertinoTextSelectionToolbarButton.getButtonLabel(
        context,
        buttonItem,
      );
    case TargetPlatform.android:
    case TargetPlatform.fuchsia:
    case TargetPlatform.linux:
    case TargetPlatform.windows:
      assert(debugCheckHasMaterialLocalizations(context));
      final MaterialLocalizations localizations = MaterialLocalizations.of(context);
      switch (buttonItem.type) {
        case ContextMenuButtonType.cut:
          return localizations.cutButtonLabel;
        case ContextMenuButtonType.copy:
          return localizations.copyButtonLabel;
        case ContextMenuButtonType.paste:
          return localizations.pasteButtonLabel;
        case ContextMenuButtonType.selectAll:
          return localizations.selectAllButtonLabel;
        case ContextMenuButtonType.delete:
          return localizations.deleteButtonTooltip.toUpperCase();
        case ContextMenuButtonType.lookUp:
          return localizations.lookUpButtonLabel;
        case ContextMenuButtonType.searchWeb:
          return localizations.searchWebButtonLabel;
        case ContextMenuButtonType.share:
          return localizations.shareButtonLabel;
        case ContextMenuButtonType.liveTextInput:
          return localizations.scanTextButtonLabel;
        case ContextMenuButtonType.custom:
          return '';
      }
  }
}