open method

Widget open(
  1. void block()
)

Implementation

Widget open(void Function() block) {
  MultiChildWidgetContext? temp = MultiChildWidgetContext.currentContext;
  MultiChildWidgetContext context = MultiChildWidgetContext();
  MultiChildWidgetContext.currentContext = context;
  block();
  MultiChildWidgetContext.currentContext = temp;
  if (this is ConstraintLayout) {
    (this as ConstraintLayout).children.addAll(context.contextChildren);
  } else if (this is Row) {
    Row row = (this as Row);
    return Row(
        key: key,
        mainAxisAlignment: row.mainAxisAlignment,
        mainAxisSize: row.mainAxisSize,
        crossAxisAlignment: row.crossAxisAlignment,
        textDirection: row.textDirection,
        verticalDirection: row.verticalDirection,
        textBaseline: row.textBaseline,
        children: context.contextChildren);
  } else if (this is Column) {
    Column column = (this as Column);
    return Column(
        key: key,
        mainAxisAlignment: column.mainAxisAlignment,
        mainAxisSize: column.mainAxisSize,
        crossAxisAlignment: column.crossAxisAlignment,
        textDirection: column.textDirection,
        verticalDirection: column.verticalDirection,
        textBaseline: column.textBaseline,
        children: context.contextChildren);
  } else if (this is Stack) {
    Stack stack = (this as Stack);
    return Stack(
        key: key,
        alignment: stack.alignment,
        textDirection: stack.textDirection,
        fit: stack.fit,
        clipBehavior: stack.clipBehavior,
        children: context.contextChildren);
  }
  return this;
}