ShadResizablePanelGroup class

A widget that provides a group of resizable panels, allowing users to adjust the size of each panel dynamically.

The ShadResizablePanelGroup manages multiple ShadResizablePanel widgets and provides functionality to resize them by dragging dividers between them. It supports both horizontal and vertical arrangements of panels, and allows customization of the appearance and behavior of the dividers and handles.

This widget is useful for creating flexible layouts where users can adjust the size of different sections of the UI according to their preferences.

Inheritance
Available extensions

Constructors

ShadResizablePanelGroup({Key? key, required List<ShadResizablePanel> children, Axis axis = Axis.horizontal, MainAxisAlignment? mainAxisAlignment, CrossAxisAlignment? crossAxisAlignment, MainAxisSize? mainAxisSize, TextDirection? textDirection, VerticalDirection? verticalDirection, ShadResizableController? controller, bool? showHandle, IconData? handleIconData, Widget? handleIcon, double? dividerSize, double? dividerThickness, VoidCallback? onDividerDoubleTap, bool? resetOnDoubleTap, Color? dividerColor, ShadDecoration? handleDecoration, EdgeInsetsGeometry? handlePadding, double? handleSize})
A widget that provides a group of resizable panels, allowing users to adjust the size of each panel dynamically.
const

Properties

axis Axis
The axis along which the panels are arranged. Can be either Axis.horizontal or Axis.vertical.
final
children List<ShadResizablePanel>
The list of resizable panels to be displayed in the group. Each panel must be a ShadResizablePanel.
final
controller ShadResizableController?
The controller that manages the resizable panels. If not provided, a new controller will be created.
final
crossAxisAlignment CrossAxisAlignment?
The alignment of the panels along the cross axis.
final
dividerColor Color?
The color of the divider between panels.
final
dividerSize double?
The size of the divider between panels.
final
dividerThickness double?
The thickness of the divider between panels.
final
handleDecoration ShadDecoration?
Custom decoration for the resize handle.
final
handleIcon Widget?
A custom widget to use as the resize handle. If provided, this will be displayed instead of the default icon.
final
handleIconData IconData?
The icon data for the resize handle.
final
handlePadding EdgeInsetsGeometry?
Padding around the resize handle.
final
handleSize double?
The size of the resize handle icon.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
mainAxisAlignment MainAxisAlignment?
The alignment of the panels along the main axis.
final
mainAxisSize MainAxisSize?
The size of the main axis for the panels.
final
onDividerDoubleTap VoidCallback?
Callback function that is triggered when the divider is double-tapped.
final
resetOnDoubleTap bool?
Whether to reset the panel sizes on double-tap of the divider.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showHandle bool?
Whether to show the resize handle between panels.
final
textDirection TextDirection?
The text direction for the panels' content. Can be set to TextDirection.ltr or TextDirection.rtl.
final
verticalDirection VerticalDirection?
The vertical direction for the panels' layout. Can be set to VerticalDirection.down or VerticalDirection.up.
final

Methods

animate({Key? key, List<Effect>? effects, AnimateCallback? onInit, AnimateCallback? onPlay, AnimateCallback? onComplete, bool? autoPlay, Duration? delay, AnimationController? controller, Adapter? adapter, double? target, double? value}) Animate

Available on Widget, provided by the AnimateWidgetExtensions extension

Wraps the target Widget in an Animate instance, and returns the instance for chaining calls. Ex. myWidget.animate() is equivalent to Animate(child: myWidget).
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() ShadResizablePanelGroupState
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
positionedWith(ShadPosition position) Widget

Available on Widget, provided by the PositionedExt extension

toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited