Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: sky/sdk/lib/widgets/menu_item.dart

Issue 1190793002: Rename UINode to Widget. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/sdk/lib/widgets/menu_divider.dart ('k') | sky/sdk/lib/widgets/modal_overlay.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 import 'basic.dart'; 5 import 'basic.dart';
6 import 'button_base.dart'; 6 import 'button_base.dart';
7 import 'icon.dart'; 7 import 'icon.dart';
8 import 'ink_well.dart'; 8 import 'ink_well.dart';
9 import 'ui_node.dart'; 9 import 'widget.dart';
10 10
11 const BoxDecoration _kHighlightDecoration = const BoxDecoration( 11 const BoxDecoration _kHighlightDecoration = const BoxDecoration(
12 backgroundColor: const Color.fromARGB(102, 153, 153, 153) 12 backgroundColor: const Color.fromARGB(102, 153, 153, 153)
13 ); 13 );
14 14
15 // TODO(abarth): We shouldn't need _kHighlightBoring, but currently Container 15 // TODO(abarth): We shouldn't need _kHighlightBoring, but currently Container
16 // isn't smart enough to retain the components it builds when we 16 // isn't smart enough to retain the components it builds when we
17 // add or remove a |decoration|. For now, we use a transparent 17 // add or remove a |decoration|. For now, we use a transparent
18 // decoration to avoid changing the structure of the tree. The 18 // decoration to avoid changing the structure of the tree. The
19 // right fix, however, is to make Container smarter about how it 19 // right fix, however, is to make Container smarter about how it
20 // syncs its subcomponents. 20 // syncs its subcomponents.
21 const BoxDecoration _kHighlightBoring = const BoxDecoration( 21 const BoxDecoration _kHighlightBoring = const BoxDecoration(
22 backgroundColor: const Color.fromARGB(0, 0, 0, 0) 22 backgroundColor: const Color.fromARGB(0, 0, 0, 0)
23 ); 23 );
24 24
25 class MenuItem extends ButtonBase { 25 class MenuItem extends ButtonBase {
26 MenuItem({ String key, this.icon, this.children, this.onGestureTap }) 26 MenuItem({ String key, this.icon, this.children, this.onGestureTap })
27 : super(key: key); 27 : super(key: key);
28 28
29 String icon; 29 String icon;
30 List<UINode> children; 30 List<Widget> children;
31 GestureEventListener onGestureTap; 31 GestureEventListener onGestureTap;
32 32
33 void syncFields(MenuItem source) { 33 void syncFields(MenuItem source) {
34 icon = source.icon; 34 icon = source.icon;
35 children = source.children; 35 children = source.children;
36 onGestureTap = source.onGestureTap; 36 onGestureTap = source.onGestureTap;
37 super.syncFields(source); 37 super.syncFields(source);
38 } 38 }
39 39
40 UINode buildContent() { 40 Widget buildContent() {
41 return new EventListenerNode( 41 return new EventListenerNode(
42 new Container( 42 new Container(
43 child: new InkWell( 43 child: new InkWell(
44 child: new Flex([ 44 child: new Flex([
45 new Padding( 45 new Padding(
46 child: new Icon(type: "${icon}_grey600", size: 24), 46 child: new Icon(type: "${icon}_grey600", size: 24),
47 padding: const EdgeDims.symmetric(horizontal: 16.0) 47 padding: const EdgeDims.symmetric(horizontal: 16.0)
48 ), 48 ),
49 new Flexible( 49 new Flexible(
50 child: new Padding( 50 child: new Padding(
51 child: new Flex(children, direction: FlexDirection.horizontal), 51 child: new Flex(children, direction: FlexDirection.horizontal),
52 padding: const EdgeDims.symmetric(horizontal: 16.0) 52 padding: const EdgeDims.symmetric(horizontal: 16.0)
53 ), 53 ),
54 flex: 1 54 flex: 1
55 ) 55 )
56 ]) 56 ])
57 ), 57 ),
58 height: 48.0, 58 height: 48.0,
59 decoration: highlight ? _kHighlightDecoration : _kHighlightBoring 59 decoration: highlight ? _kHighlightDecoration : _kHighlightBoring
60 ), 60 ),
61 onGestureTap: onGestureTap 61 onGestureTap: onGestureTap
62 ); 62 );
63 } 63 }
64 } 64 }
OLDNEW
« no previous file with comments | « sky/sdk/lib/widgets/menu_divider.dart ('k') | sky/sdk/lib/widgets/modal_overlay.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698