1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-08 22:09:06 +00:00
Files
samples/simplistic_editor/lib/formatting_toolbar.dart
2025-02-12 18:08:01 -05:00

49 lines
1.4 KiB
Dart

import 'package:flutter/material.dart';
import 'app_state.dart';
import 'app_state_manager.dart';
/// The toggle buttons that can be selected.
enum ToggleButtonsState { bold, italic, underline }
class FormattingToolbar extends StatelessWidget {
const FormattingToolbar({super.key});
@override
Widget build(BuildContext context) {
final AppStateManager manager = AppStateManager.of(context);
return Padding(
padding: const EdgeInsets.symmetric(vertical: 8.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ToggleButtons(
borderRadius: const BorderRadius.all(Radius.circular(4.0)),
isSelected: [
manager.appState.toggleButtonsState.contains(
ToggleButtonsState.bold,
),
manager.appState.toggleButtonsState.contains(
ToggleButtonsState.italic,
),
manager.appState.toggleButtonsState.contains(
ToggleButtonsState.underline,
),
],
onPressed:
(index) => AppStateWidget.of(
context,
).updateToggleButtonsStateOnButtonPressed(index),
children: const [
Icon(Icons.format_bold),
Icon(Icons.format_italic),
Icon(Icons.format_underline),
],
),
],
),
);
}
}