buildStaticSlivers static method
List<Widget>
buildStaticSlivers({
- required BuildContext context,
- required List<
int> data, - required HexConfig config,
Implementation
static List<Widget> buildStaticSlivers({
required BuildContext context,
required List<int> data,
required HexConfig config,
}) {
if (data.isEmpty) {
return [
SliverToBoxAdapter(
child: Center(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Text(
'No data to display',
style: Theme.of(context).textTheme.bodyMedium?.copyWith(
color: Theme.of(context).colorScheme.onSurfaceVariant,
),
),
),
),
),
];
}
final effectiveConfig = _resolveDefaultColorScheme(
context: context,
config: config,
);
final lineCount = HexFormatter.calculateLineCount(
data.length,
config.bytesPerLine,
);
return [
SliverToBoxAdapter(child: HexHeader(config: effectiveConfig)),
const SliverToBoxAdapter(child: Divider(height: 1)),
SliverList(
delegate: SliverChildBuilderDelegate((context, index) {
final offset = index * effectiveConfig.bytesPerLine;
final line = HexFormatter.formatLine(data, offset, effectiveConfig);
return HexRow(
line: line,
config: effectiveConfig,
selection: null,
onBytePressed: null,
);
}, childCount: lineCount),
),
];
}