iconManager function
Widget
iconManager(
- Style style,
- Widget? leftChild,
- Widget? rightChild,
- List<Widget> children,
- double gap,
- Widget widget,
- MainAxisAlignment mainAxisAlignment,
- CrossAxisAlignment crossAxisAlignment,
- Widget? topChild,
- Widget? bottomChild,
)
Implementation
Widget iconManager(
Style style,
Widget? leftChild,
Widget? rightChild,
List<Widget> children,
double gap,
Widget widget,
MainAxisAlignment mainAxisAlignment,
CrossAxisAlignment crossAxisAlignment,
Widget? topChild,
Widget? bottomChild) {
if (leftChild == null &&
rightChild == null &&
topChild == null &&
bottomChild == null) {
return flexManager(
props: style, children: children.length > 1 ? children : [widget]);
}
if (leftChild != null || rightChild != null) {
if (leftChild != null) {
children.add(leftChild);
children.add(SizedBox(width: gap));
}
children.add(widget);
if (rightChild != null) {
children.add(SizedBox(width: gap));
children.add(rightChild);
}
return Row(
mainAxisAlignment: mainAxisAlignment,
crossAxisAlignment: crossAxisAlignment,
children: children);
}
if (topChild != null || bottomChild != null) {
if (topChild != null) {
children.add(topChild);
children.add(SizedBox(height: gap));
}
children.add(widget);
if (bottomChild != null) {
children.add(SizedBox(height: gap));
children.add(bottomChild);
}
return Column(
mainAxisAlignment: mainAxisAlignment,
crossAxisAlignment: crossAxisAlignment,
children: children);
}
return widget;
}