PdfViewerContextMenuBuilder typedef
PdfViewerContextMenuBuilder =
Widget? Function(BuildContext context, PdfViewerContextMenuBuilderParams params)
Function to build the text selection context menu.
The following fragment is a simple example to build a context menu with "Copy" and "Select All" actions:
Widget? _buildTextSelectionContextMenu(
BuildContext context,
PdfViewerTextSelectionContextMenuBuilderParams params,
) {
final items = [
if (params.isTextSelectionEnabled &&
params.textSelectionDelegate.isCopyAllowed &&
params.textSelectionDelegate.hasSelectedText)
ContextMenuButtonItem(
onPressed: () => params.textSelectionDelegate.copyTextSelection(),
type: ContextMenuButtonType.copy,
),
if (params.isTextSelectionEnabled && !params.textSelectionDelegate.isSelectingAllText)
ContextMenuButtonItem(
onPressed: () => params.textSelectionDelegate.selectAllText(),
type: ContextMenuButtonType.selectAll,
),
];
widget.params.customizeContextMenuItems?.call(params, items);
if (items.isEmpty) {
return null;
}
return Align(
alignment: Alignment.topLeft,
child: AdaptiveTextSelectionToolbar.buttonItems(
anchors: TextSelectionToolbarAnchors(primaryAnchor: params.anchorA, secondaryAnchor: params.anchorB),
buttonItems: items,
),
);
}
See PdfViewerParams.customizeContextMenuItems for more.
Implementation
typedef PdfViewerContextMenuBuilder = Widget? Function(BuildContext context, PdfViewerContextMenuBuilderParams params);