build static method

Widget build({
  1. required ProgrammingBlockModel? blockModel,
  2. required Widget nameBuilder(
    1. ProgrammingBlockModel? blockModel
    ),
  3. required Widget panelBuilder(),
  4. required Color color,
  5. required ProgrammingBlockShape shape,
  6. required bool fromCreationSection,
  7. required PuzzlePieceData puzzlePieceData,
})

Implementation

static Widget build({
  required ProgrammingBlockModel? blockModel,
  required Widget Function(ProgrammingBlockModel? blockModel) nameBuilder,
  required Widget Function() panelBuilder,
  required Color color,
  required ProgrammingBlockShape shape,
  required bool fromCreationSection,
  required PuzzlePieceData puzzlePieceData,
}) {
  switch (shape) {
    case ProgrammingBlockShape.simple:
      return ProgrammingBlock(
        blockModel: blockModel,
        color: color,
        builder: () => SimpleBlock(
          blockModel: blockModel,
          nameBuilder: nameBuilder,
          panelBuilder: () => panelBuilder(),
          color: color,
        ),
      );
    case ProgrammingBlockShape.withReturn:
      return ProgrammingBlock(
        blockModel: blockModel,
        color: color,
        builder: () => ReturnBlock(
          puzzlePieceData: puzzlePieceData,
          blockModel: blockModel,
          nameBuilder: nameBuilder,
          panelBuilder: () => panelBuilder(),
          color: color,
          fromCreationSection: fromCreationSection,
        ),
      );
    case ProgrammingBlockShape.scope:
      return ProgrammingBlock(
        blockModel: blockModel,
        color: color,
        builder: () => ScopeBlock(
          blockModel: blockModel,
          nameBuilder: nameBuilder,
          panelBuilder: () => panelBuilder(),
          color: color,
          fromCreationSection: fromCreationSection,
        ),
      );
  }
}