of static method
Returns the nearest ListTableTheme.
Implementation
static ListTableThemeData of(BuildContext context) {
final ListTableTheme? listTableTheme =
context.dependOnInheritedWidgetOfExactType<ListTableTheme>();
ListTableThemeData? listTableThemeData = listTableTheme?.data;
if (listTableThemeData == null || !listTableThemeData._isConcrete) {
final ThemeData themeData = Theme.of(context);
final TextTheme textTheme = themeData.textTheme;
final ColorScheme colorScheme = themeData.colorScheme;
listTableThemeData ??= themeData.listTableTheme;
final listTableValue =
_ListTableThemeData(textTheme: textTheme, colorScheme: colorScheme);
final IconThemeData iconThemeData =
listTableThemeData.iconThemeData ?? listTableValue.iconThemeData;
final double itemHeight =
listTableThemeData.itemHeight ?? listTableValue.itemHeight;
final TextStyle textStyle =
listTableThemeData.textStyle ?? listTableValue.textStyle;
final Color selectedColor =
listTableThemeData.selectedColor ?? listTableValue.selectedColor;
final Color selectedHighlightColor =
listTableThemeData.selectedHighlightColor ??
listTableValue.selectedHighlightColor;
final Color selectedHoverColor = listTableThemeData.selectedHoverColor ??
listTableValue.selectedHoverColor;
final Color hoverColor =
listTableThemeData.hoverColor ?? listTableValue.hoverColor;
final Color highlightColor =
listTableThemeData.highlightColor ?? listTableValue.highlightColor;
final Color background =
listTableThemeData.background ?? listTableValue.background;
final Color borderColor =
listTableThemeData.borderColor ?? listTableValue.borderColor;
final Color borderHoverColor = listTableThemeData.borderHoverColor ??
listTableValue.borderHoverColor;
final Color borderHighlightColor =
listTableThemeData.borderHighlightColor ??
listTableValue.borderHighlightColor;
final Color borderIndicatorColor =
listTableThemeData.borderIndicatorColor ??
listTableValue.borderIndicatorColor;
return listTableThemeData.copyWith(
iconThemeData: iconThemeData,
itemHeight: itemHeight,
textStyle: textStyle,
selectedColor: selectedColor,
selectedHighlightColor: selectedHighlightColor,
selectedHoverColor: selectedHoverColor,
hoverColor: hoverColor,
highlightColor: highlightColor,
background: background,
borderColor: borderColor,
borderHoverColor: borderHoverColor,
borderHighlightColor: borderHighlightColor,
borderIndicatorColor: borderIndicatorColor,
);
}
assert(listTableThemeData._isConcrete);
return listTableThemeData;
}