build method

  1. @override
Widget build(
  1. BuildContext context,
  2. SerialModel model
)
override

Builds the UI according to the state in model.

Implementation

@override
Widget build(BuildContext context, SerialModel model) => PopupMenuButton(
  icon: Icon(Icons.usb, color: model.hasDevice ? Colors.green : Colors.black),
  tooltip: "Select device",
  onSelected: model.toggle,
  itemBuilder: (_) => [
    for (final String port in DelegateSerialPort.allPorts)
      PopupMenuItem(
        value: port,
        child: ListTile(
          title: Text(port),
          leading: model.isConnected(port) ? const Icon(Icons.check) : null,
        ),
      ),
  ],
);