part of '../main.dart'; class ModeSelectorWidget extends StatelessWidget { final String caption; final List options; final String value; final double captionFontSize; final double valueFontSize; final double bottomPadding; final onChange; ModeSelectorWidget({ Key key, this.caption, @required this.options, this.value, @required this.onChange, this.captionFontSize, this.valueFontSize, this.bottomPadding }) : super(key: key); @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text("$caption", style: TextStyle( fontSize: captionFontSize ?? Entity.stateFontSize )), Row( children: [ Expanded( child: ButtonTheme( alignedDropdown: true, child: DropdownButton( value: value, iconSize: 30.0, isExpanded: true, style: TextStyle( fontSize: valueFontSize ?? Entity.largeFontSize, color: Colors.black, ), hint: Text("Select ${caption.toLowerCase()}"), items: options.map((String value) { return new DropdownMenuItem( value: value, child: Text(value), ); }).toList(), onChanged: (mode) => onChange(mode), ), ), ) ], ), Container(height: bottomPadding ?? Entity.rowPadding,) ], ); } }