getTextStyle method

TextStyle? getTextStyle()

Implementation

TextStyle? getTextStyle() {
  if (_textStyle != null) {
    return _textStyle;
  } else {
    double? fontSize =
        getMindMap()?.getTheme() != null &&
            getMindMap()?.getTheme()?.getThemeByLevel(getLevel()) != null &&
            getMindMap()?.getTheme()?.getThemeByLevel(getLevel())!["FontSize"]
                is double
        ? getMindMap()?.getTheme()?.getThemeByLevel(getLevel())!["FontSize"]
              as double
        : null;
    Color? textColor =
        getMindMap()?.getTheme() != null &&
            getMindMap()?.getTheme()?.getThemeByLevel(getLevel()) != null &&
            getMindMap()?.getTheme()?.getThemeByLevel(
                  getLevel(),
                )!["TextColor"]
                is Color
        ? getMindMap()?.getTheme()?.getThemeByLevel(getLevel())!["TextColor"]
              as Color
        : null;
    bool? bold =
        getMindMap()?.getTheme() != null &&
            getMindMap()?.getTheme()?.getThemeByLevel(getLevel()) != null &&
            getMindMap()?.getTheme()?.getThemeByLevel(getLevel())!["Bold"]
                is bool
        ? getMindMap()?.getTheme()?.getThemeByLevel(getLevel())!["Bold"]
              as bool
        : null;
    return textColor != null || fontSize != null || bold != null
        ? TextStyle(
            color: textColor ?? Colors.black,
            fontSize: fontSize ?? 16,
            fontWeight: bold == true ? FontWeight.bold : FontWeight.normal,
          )
        : (getParentNode() != null && getParentNode() is MindMapNode
              ? (getParentNode() as MindMapNode).getTextStyle()
              : TextStyle(fontSize: 16.0, color: Colors.black));
  }
}