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 '../../../../widgets/toolbar/base_toolbar.dart';
import '../../../documents/attribute.dart'; import '../../../documents/attribute.dart';
class QuillToolbarSelectHeaderStyleButtonExtraOptions class QuillToolbarSelectHeaderStyleButtonsExtraOptions
extends QuillToolbarBaseButtonExtraOptions { extends QuillToolbarBaseButtonExtraOptions {
const QuillToolbarSelectHeaderStyleButtonExtraOptions({ const QuillToolbarSelectHeaderStyleButtonsExtraOptions({
required super.controller, required super.controller,
required super.context, required super.context,
required super.onPressed, required super.onPressed,
@ -15,7 +15,7 @@ class QuillToolbarSelectHeaderStyleButtonExtraOptions
class QuillToolbarSelectHeaderStyleButtonsOptions class QuillToolbarSelectHeaderStyleButtonsOptions
extends QuillToolbarBaseButtonOptions< extends QuillToolbarBaseButtonOptions<
QuillToolbarSelectHeaderStyleButtonsOptions, QuillToolbarSelectHeaderStyleButtonsOptions,
QuillToolbarSelectHeaderStyleButtonExtraOptions> { QuillToolbarSelectHeaderStyleButtonsExtraOptions> {
const QuillToolbarSelectHeaderStyleButtonsOptions({ const QuillToolbarSelectHeaderStyleButtonsOptions({
super.afterButtonPressed, super.afterButtonPressed,
super.childBuilder, super.childBuilder,

@ -20,7 +20,8 @@ import 'buttons/link_style2_configurations.dart';
import 'buttons/link_style_configurations.dart'; import 'buttons/link_style_configurations.dart';
import 'buttons/search_configurations.dart'; import 'buttons/search_configurations.dart';
import 'buttons/select_alignment_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_check_list_configurations.dart';
import 'buttons/toggle_style_configurations.dart'; import 'buttons/toggle_style_configurations.dart';
import 'toolbar_shared_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/link_style_configurations.dart';
export 'buttons/search_configurations.dart'; export 'buttons/search_configurations.dart';
export 'buttons/select_alignment_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_check_list_configurations.dart';
export 'buttons/toggle_style_configurations.dart'; export 'buttons/toggle_style_configurations.dart';
@ -254,6 +255,8 @@ class QuillToolbarButtonOptions extends Equatable {
this.search = const QuillToolbarSearchButtonOptions(), this.search = const QuillToolbarSearchButtonOptions(),
this.selectHeaderStyleButtons = this.selectHeaderStyleButtons =
const QuillToolbarSelectHeaderStyleButtonsOptions(), const QuillToolbarSelectHeaderStyleButtonsOptions(),
this.selectHeaderStyleButton =
const QuillToolbarSelectHeaderStyleButtonOptions(),
this.linkStyle = const QuillToolbarLinkStyleButtonOptions(), this.linkStyle = const QuillToolbarLinkStyleButtonOptions(),
this.linkStyle2 = const QuillToolbarLinkStyleButton2Options(), this.linkStyle2 = const QuillToolbarLinkStyleButton2Options(),
this.customButtons = const QuillToolbarCustomButtonOptions(), this.customButtons = const QuillToolbarCustomButtonOptions(),
@ -300,6 +303,11 @@ class QuillToolbarButtonOptions extends Equatable {
/// can customize it and you also have child builder /// can customize it and you also have child builder
final QuillToolbarSelectHeaderStyleButtonsOptions selectHeaderStyleButtons; 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 QuillToolbarLinkStyleButtonOptions linkStyle;
final QuillToolbarLinkStyleButton2Options linkStyle2; final QuillToolbarLinkStyleButton2Options linkStyle2;

@ -14,6 +14,7 @@ export 'buttons/color/color_button.dart';
export 'buttons/custom_button_button.dart'; export 'buttons/custom_button_button.dart';
export 'buttons/font_family_button.dart'; export 'buttons/font_family_button.dart';
export 'buttons/font_size_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/hearder_style/select_header_style_buttons.dart';
export 'buttons/history_button.dart'; export 'buttons/history_button.dart';
export 'buttons/indent_button.dart'; export 'buttons/indent_button.dart';

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

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

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

Loading…
Cancel
Save