produceWidget static method
Widget
produceWidget(
- Trait trait, {
- Color iconColor = WidgetStyleConstants.deviceDetailIconColorActive,
- Color textColor = WidgetStyleConstants.deviceDetailIconColorActive,
})
Implementation
static Widget produceWidget(
Trait trait, {
Color iconColor = WidgetStyleConstants.deviceDetailIconColorActive,
Color textColor = WidgetStyleConstants.deviceDetailIconColorActive,
}) {
switch (trait.runtimeType) {
case LockTrait:
return Consumer<LockProvider>(builder: (_, lockProvider, __) {
return LockWidget(lockProvider,
iconColor: iconColor, textColor: textColor);
});
case PowerTrait:
return Consumer<PowerTraitProvider>(builder: (_, powerProvider, __) {
return PowerWidget(powerProvider,
iconColor: iconColor, textColor: textColor);
});
case BatteryLevelTrait:
return Consumer<BatteryLevelProvider>(
builder: (_, batteryLevelProvider, __) {
return BatteryWidget(batteryLevelProvider,
iconColor: iconColor, textColor: textColor);
});
case ThermostatTrait:
return Consumer<ThermostatProvider>(
builder: (_, thermostatProvider, __) {
return ThermostatWidget(
thermostatProvider,
textColor: textColor,
);
},
);
case BrightnessTrait:
return Consumer<BrightnessProvider>(
builder: (_, brightnessProvider, __) {
return BrightnessWidget(brightnessProvider, textColor: textColor);
},
);
case ColorTrait:
return Consumer<ColorProvider>(builder: (_, colorProvider, __) {
return ColorWidget(colorProvider, textColor: textColor);
});
case ColorTemperatureTrait:
return Consumer<ColorTemperatureProvider>(
builder: (_, ColorTemperatureProvider, __) {
return ColorTemperatureWidget(ColorTemperatureProvider,
textColor: textColor);
},
);
case PinCodeTrait:
return Consumer<PinCodeProvider>(
builder: (_, PinCodeProvider, __) {
return PinCodeWidget(PinCodeProvider, textColor: textColor);
},
);
default:
return UnknownWidget(name: trait.name, iconColor: iconColor);
}
}