diff --git a/lib/src/resizable_widget.dart b/lib/src/resizable_widget.dart index c1ecc43..04336b4 100644 --- a/lib/src/resizable_widget.dart +++ b/lib/src/resizable_widget.dart @@ -48,10 +48,17 @@ class ResizableWidget extends StatefulWidget { /// Note that [onResized] is called every frame when resizing [children]. final OnResizedFunc? onResized; + /// Divider widget. + /// This widget is inserted between the children. + /// If you set this value, the length of [children] will be doubled. + /// The [divider] will be inserted between the original [children]. + final Widget? divider; + /// Creates [ResizableWidget]. ResizableWidget({ Key? key, required this.children, + this.divider, this.percentages, @Deprecated('Use [isHorizontalSeparator] instead') this.isColumnChildren = false, diff --git a/lib/src/resizable_widget_args_info.dart b/lib/src/resizable_widget_args_info.dart index 2e43b6b..daabf3c 100644 --- a/lib/src/resizable_widget_args_info.dart +++ b/lib/src/resizable_widget_args_info.dart @@ -9,6 +9,7 @@ class ResizableWidgetArgsInfo { final double separatorSize; final Color separatorColor; final OnResizedFunc? onResized; + final Widget? divider; ResizableWidgetArgsInfo(ResizableWidget widget) : children = widget.children, @@ -20,5 +21,6 @@ class ResizableWidgetArgsInfo { isDisabledSmartHide = widget.isDisabledSmartHide, separatorSize = widget.separatorSize, separatorColor = widget.separatorColor, - onResized = widget.onResized; + onResized = widget.onResized, + divider = widget.divider; } diff --git a/lib/src/resizable_widget_model.dart b/lib/src/resizable_widget_model.dart index 3971178..e430d55 100644 --- a/lib/src/resizable_widget_model.dart +++ b/lib/src/resizable_widget_model.dart @@ -32,6 +32,7 @@ class ResizableWidgetModel { _info.isDisabledSmartHide, _info.separatorSize, _info.separatorColor, + _info.divider, )), null)); } diff --git a/lib/src/separator.dart b/lib/src/separator.dart index 210d465..2ddfcce 100644 --- a/lib/src/separator.dart +++ b/lib/src/separator.dart @@ -23,18 +23,18 @@ class _SeparatorState extends State { super.initState(); _info = widget.info; - _controller = - SeparatorController(widget.info.index, widget.info.parentController); + _controller = SeparatorController(widget.info.index, widget.info.parentController); } @override Widget build(BuildContext context) => GestureDetector( child: MouseRegion( - cursor: _info.isHorizontalSeparator - ? SystemMouseCursors.resizeRow - : SystemMouseCursors.resizeColumn, + cursor: _info.isHorizontalSeparator ? SystemMouseCursors.resizeRow : SystemMouseCursors.resizeColumn, child: SizedBox( - child: Container(color: _info.color), + child: Container( + color: _info.color, + child: _info.child, + ), width: _info.isHorizontalSeparator ? double.infinity : _info.size, height: _info.isHorizontalSeparator ? _info.size : double.infinity, ), diff --git a/lib/src/separator_args_info.dart b/lib/src/separator_args_info.dart index 4f9932d..e5d0344 100644 --- a/lib/src/separator_args_info.dart +++ b/lib/src/separator_args_info.dart @@ -14,14 +14,16 @@ class SeparatorArgsBasicInfo { final bool isDisabledSmartHide; final double size; final Color color; + final Widget? child; const SeparatorArgsBasicInfo(this.index, this.isHorizontalSeparator, - this.isDisabledSmartHide, this.size, this.color); + this.isDisabledSmartHide, this.size, this.color, this.child); SeparatorArgsBasicInfo.clone(SeparatorArgsBasicInfo info) : index = info.index, isHorizontalSeparator = info.isHorizontalSeparator, isDisabledSmartHide = info.isDisabledSmartHide, size = info.size, - color = info.color; + color = info.color, + child = info.child; }