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);
      return switch (buttonItem.type) {
        ContextMenuButtonType.cut       => localizations.cutButtonLabel,
        ContextMenuButtonType.copy      => localizations.copyButtonLabel,
        ContextMenuButtonType.paste     => localizations.pasteButtonLabel,
        ContextMenuButtonType.selectAll => localizations.selectAllButtonLabel,
        ContextMenuButtonType.delete    => localizations.deleteButtonTooltip.toUpperCase(),
        ContextMenuButtonType.lookUp    => localizations.lookUpButtonLabel,
        ContextMenuButtonType.searchWeb => localizations.searchWebButtonLabel,
        ContextMenuButtonType.share     => localizations.shareButtonLabel,
        ContextMenuButtonType.liveTextInput => localizations.scanTextButtonLabel,
        ContextMenuButtonType.custom => '',
      };
  }
}