public ButtonTheme(
     Key key = null,
     ButtonTextTheme textTheme = ButtonTextTheme.normal,
     ButtonBarLayoutBehavior layoutBehavior = ButtonBarLayoutBehavior.padded,
     float minWidth          = 88.0f,
     float height            = 36.0f,
     EdgeInsets padding      = null,
     ShapeBorder shape       = null,
     bool alignedDropdown    = false,
     Color buttonColor       = null,
     Color disabledColor     = null,
     Color highlightColor    = null,
     Color splashColor       = null,
     ColorScheme colorScheme = null,
     MaterialTapTargetSize?materialTapTargetSize = null,
     Widget child = null) : base(key: key, child: child)
 {
     D.assert(minWidth >= 0.0);
     D.assert(height >= 0.0);
     this.data = new ButtonThemeData(
         textTheme: textTheme,
         minWidth: minWidth,
         height: height,
         padding: padding,
         shape: shape,
         alignedDropdown: alignedDropdown,
         layoutBehavior: layoutBehavior,
         buttonColor: buttonColor,
         disabledColor: disabledColor,
         highlightColor: highlightColor,
         splashColor: splashColor,
         colorScheme: colorScheme,
         materialTapTargetSize: materialTapTargetSize);
 }
 public static ButtonTheme bar(
     Key key = null,
     ButtonTextTheme textTheme = ButtonTextTheme.accent,
     float minWidth            = 64.0f,
     float height            = 36.0f,
     EdgeInsets padding      = null,
     ShapeBorder shape       = null,
     bool alignedDropdown    = false,
     Color buttonColor       = null,
     Color disabledColor     = null,
     Color highlightColor    = null,
     Color splashColor       = null,
     ColorScheme colorScheme = null,
     Widget child            = null,
     ButtonBarLayoutBehavior layoutBehavior = ButtonBarLayoutBehavior.padded
     )
 {
     D.assert(minWidth >= 0.0);
     D.assert(height >= 0.0);
     return(new ButtonTheme(key, new ButtonThemeData(
                                textTheme: textTheme,
                                minWidth: minWidth,
                                height: height,
                                padding: padding ?? EdgeInsets.symmetric(horizontal: 8.0f),
                                shape: shape,
                                alignedDropdown: alignedDropdown,
                                layoutBehavior: layoutBehavior,
                                buttonColor: buttonColor,
                                disabledColor: disabledColor,
                                highlightColor: highlightColor,
                                splashColor: splashColor,
                                colorScheme: colorScheme
                                ), child));
 }
 public ButtonThemeData(
     ButtonTextTheme textTheme = ButtonTextTheme.normal,
     float minWidth            = 88.0f,
     float height       = 36.0f,
     EdgeInsets padding = null,
     ShapeBorder shape  = null,
     ButtonBarLayoutBehavior layoutBehavior = ButtonBarLayoutBehavior.padded,
     bool alignedDropdown    = false,
     Color buttonColor       = null,
     Color disabledColor     = null,
     Color highlightColor    = null,
     Color splashColor       = null,
     ColorScheme colorScheme = null,
     MaterialTapTargetSize?materialTapTargetSize = null
     )
 {
     D.assert(minWidth >= 0.0);
     D.assert(height >= 0.0);
     this.textTheme              = textTheme;
     this.minWidth               = minWidth;
     this.height                 = height;
     this.layoutBehavior         = layoutBehavior;
     this.alignedDropdown        = alignedDropdown;
     this.colorScheme            = colorScheme;
     this._buttonColor           = buttonColor;
     this._disabledColor         = disabledColor;
     this._highlightColor        = highlightColor;
     this._splashColor           = splashColor;
     this._padding               = padding;
     this._shape                 = shape;
     this._materialTapTargetSize = materialTapTargetSize;
 }