Create configurations class for select header style button

pull/1596/head
Ellet 1 year ago
parent 14d768322a
commit 4eaf278956
No known key found for this signature in database
GPG Key ID: C488CC70BBCEF0D1
  1. 28
      lib/src/models/config/toolbar/buttons/select_header_style_button_configurations.dart
  2. 6
      lib/src/models/config/toolbar/buttons/select_header_style_buttons_configurations.dart
  3. 12
      lib/src/models/config/toolbar/simple_toolbar_configurations.dart
  4. 1
      lib/src/widgets/toolbar/base_toolbar.dart
  5. 6
      lib/src/widgets/toolbar/buttons/hearder_style/select_header_style_button.dart
  6. 2
      lib/src/widgets/toolbar/buttons/hearder_style/select_header_style_buttons.dart
  7. 2
      lib/src/widgets/toolbar/simple_toolbar.dart

@ -0,0 +1,28 @@
import '../../../../widgets/toolbar/base_toolbar.dart';
class QuillToolbarSelectHeaderStyleButtonExtraOptions
extends QuillToolbarBaseButtonExtraOptions {
const QuillToolbarSelectHeaderStyleButtonExtraOptions({
required super.controller,
required super.context,
required super.onPressed,
});
}
class QuillToolbarSelectHeaderStyleButtonOptions
extends QuillToolbarBaseButtonOptions<
QuillToolbarSelectHeaderStyleButtonOptions,
QuillToolbarSelectHeaderStyleButtonExtraOptions> {
const QuillToolbarSelectHeaderStyleButtonOptions({
super.afterButtonPressed,
super.childBuilder,
super.iconTheme,
super.tooltip,
this.iconSize,
this.iconButtonFactor,
});
/// By default we will the toolbar axis from [QuillSimpleToolbarConfigurations]
final double? iconSize;
final double? iconButtonFactor;
}

@ -3,9 +3,9 @@ import 'package:flutter/widgets.dart' show Axis;
import '../../../../widgets/toolbar/base_toolbar.dart';
import '../../../documents/attribute.dart';
class QuillToolbarSelectHeaderStyleButtonExtraOptions
class QuillToolbarSelectHeaderStyleButtonsExtraOptions
extends QuillToolbarBaseButtonExtraOptions {
const QuillToolbarSelectHeaderStyleButtonExtraOptions({
const QuillToolbarSelectHeaderStyleButtonsExtraOptions({
required super.controller,
required super.context,
required super.onPressed,
@ -15,7 +15,7 @@ class QuillToolbarSelectHeaderStyleButtonExtraOptions
class QuillToolbarSelectHeaderStyleButtonsOptions
extends QuillToolbarBaseButtonOptions<
QuillToolbarSelectHeaderStyleButtonsOptions,
QuillToolbarSelectHeaderStyleButtonExtraOptions> {
QuillToolbarSelectHeaderStyleButtonsExtraOptions> {
const QuillToolbarSelectHeaderStyleButtonsOptions({
super.afterButtonPressed,
super.childBuilder,

@ -20,7 +20,8 @@ import 'buttons/link_style2_configurations.dart';
import 'buttons/link_style_configurations.dart';
import 'buttons/search_configurations.dart';
import 'buttons/select_alignment_configurations.dart';
import 'buttons/select_header_style_configurations.dart';
import 'buttons/select_header_style_button_configurations.dart';
import 'buttons/select_header_style_buttons_configurations.dart';
import 'buttons/toggle_check_list_configurations.dart';
import 'buttons/toggle_style_configurations.dart';
import 'toolbar_shared_configurations.dart';
@ -38,7 +39,7 @@ export 'buttons/link_style2_configurations.dart';
export 'buttons/link_style_configurations.dart';
export 'buttons/search_configurations.dart';
export 'buttons/select_alignment_configurations.dart';
export 'buttons/select_header_style_configurations.dart';
export 'buttons/select_header_style_buttons_configurations.dart';
export 'buttons/toggle_check_list_configurations.dart';
export 'buttons/toggle_style_configurations.dart';
@ -254,6 +255,8 @@ class QuillToolbarButtonOptions extends Equatable {
this.search = const QuillToolbarSearchButtonOptions(),
this.selectHeaderStyleButtons =
const QuillToolbarSelectHeaderStyleButtonsOptions(),
this.selectHeaderStyleButton =
const QuillToolbarSelectHeaderStyleButtonOptions(),
this.linkStyle = const QuillToolbarLinkStyleButtonOptions(),
this.linkStyle2 = const QuillToolbarLinkStyleButton2Options(),
this.customButtons = const QuillToolbarCustomButtonOptions(),
@ -300,6 +303,11 @@ class QuillToolbarButtonOptions extends Equatable {
/// can customize it and you also have child builder
final QuillToolbarSelectHeaderStyleButtonsOptions selectHeaderStyleButtons;
/// The reason we call this buttons in the end because this is responsible
/// for all the header style buttons and not just one, you still
/// can customize it and you also have child builder
final QuillToolbarSelectHeaderStyleButtonOptions selectHeaderStyleButton;
final QuillToolbarLinkStyleButtonOptions linkStyle;
final QuillToolbarLinkStyleButton2Options linkStyle2;

@ -14,6 +14,7 @@ export 'buttons/color/color_button.dart';
export 'buttons/custom_button_button.dart';
export 'buttons/font_family_button.dart';
export 'buttons/font_size_button.dart';
export 'buttons/hearder_style/select_header_style_button.dart';
export 'buttons/hearder_style/select_header_style_buttons.dart';
export 'buttons/history_button.dart';
export 'buttons/indent_button.dart';

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import '../../../../../translations.dart';
import '../../../../extensions/quill_configurations_ext.dart';
import '../../../../models/config/toolbar/buttons/select_header_style_configurations.dart';
import '../../../../models/config/toolbar/buttons/select_header_style_button_configurations.dart';
import '../../../../models/documents/attribute.dart';
import '../../../quill/quill_controller.dart';
import '../../base_toolbar.dart';
@ -17,12 +17,12 @@ enum _HeaderStyleOptions {
class QuillToolbarSelectHeaderStyleButton extends StatefulWidget {
const QuillToolbarSelectHeaderStyleButton({
required this.controller,
this.options = const QuillToolbarSelectHeaderStyleButtonsOptions(),
this.options = const QuillToolbarSelectHeaderStyleButtonOptions(),
super.key,
});
final QuillController controller;
final QuillToolbarSelectHeaderStyleButtonsOptions options;
final QuillToolbarSelectHeaderStyleButtonOptions options;
@override
State<QuillToolbarSelectHeaderStyleButton> createState() =>

@ -140,7 +140,7 @@ class QuillToolbarSelectHeaderStyleButtonsState
iconTheme: iconTheme,
tooltip: tooltip,
),
QuillToolbarSelectHeaderStyleButtonExtraOptions(
QuillToolbarSelectHeaderStyleButtonsExtraOptions(
controller: controller,
context: context,
onPressed: () => _sharedOnPressed(attribute),

@ -200,7 +200,7 @@ class QuillSimpleToolbar extends StatelessWidget
QuillToolbarSelectHeaderStyleButton(
controller: globalController,
options:
toolbarConfigurations.buttonOptions.selectHeaderStyleButtons,
toolbarConfigurations.buttonOptions.selectHeaderStyleButton,
),
if (configurations.showDividers &&
configurations.showHeaderStyle &&

Loading…
Cancel
Save