Hixie 636d169c7f [Effen] remove some redundant styles
Some of the styles we have aren't really needed, so remove them to make it clearer what we weed to actually support to keep the stocks app running.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1128173007
2015-05-14 10:21:55 -07:00

88 lines
2.0 KiB
Dart

// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import '../fn.dart';
import '../layout.dart';
import 'button_base.dart';
import 'dart:sky' as sky;
typedef void ValueChanged(value);
class Checkbox extends ButtonBase {
static final Style _style = new Style('''
transform: translateX(0);
justify-content: center;
align-items: center;
-webkit-user-select: none;
cursor: pointer;
width: 30px;
height: 30px;'''
);
static final Style _containerStyle = new Style('''
border: solid 2px;
border-color: rgba(90, 90, 90, 0.25);
width: 10px;
height: 10px;'''
);
static final Style _containerHighlightStyle = new Style('''
border: solid 2px;
border-color: rgba(90, 90, 90, 0.25);
width: 10px;
height: 10px;
border-radius: 10px;
background-color: orange;
border-color: orange;'''
);
static final Style _uncheckedStyle = new Style('''
top: 0px;
left: 0px;'''
);
static final Style _checkedStyle = new Style('''
top: 0px;
left: 0px;
transform: translate(2px, -15px) rotate(45deg);
width: 10px;
height: 20px;
border-style: solid;
border-top: none;
border-left: none;
border-right-width: 2px;
border-bottom-width: 2px;
border-color: #0f9d58;'''
);
bool checked;
ValueChanged onChanged;
Checkbox({ Object key, this.onChanged, this.checked }) : super(key: key);
void _handleClick(sky.Event e) {
onChanged(!checked);
}
UINode buildContent() {
return new EventListenerNode(
new FlexContainer(
style: _style,
direction: FlexDirection.Row,
children: [
new Container(
style: highlight ? _containerHighlightStyle : _containerStyle,
children: [
new Container(
style: checked ? _checkedStyle : _uncheckedStyle
)
]
)
]
),
onGestureTap: _handleClick
);
}
}