RenderToggleable should use a gesture recognizer
We no longer have gesture events.
This commit is contained in:
parent
205335f0f0
commit
1976ae1d5e
@ -5,6 +5,8 @@
|
|||||||
import 'dart:sky' as sky;
|
import 'dart:sky' as sky;
|
||||||
|
|
||||||
import 'package:sky/animation.dart';
|
import 'package:sky/animation.dart';
|
||||||
|
import 'package:sky/gestures.dart';
|
||||||
|
import 'package:sky/src/rendering/sky_binding.dart';
|
||||||
import 'package:sky/src/rendering/box.dart';
|
import 'package:sky/src/rendering/box.dart';
|
||||||
import 'package:sky/src/rendering/object.dart';
|
import 'package:sky/src/rendering/object.dart';
|
||||||
import 'package:sky/src/rendering/proxy_box.dart';
|
import 'package:sky/src/rendering/proxy_box.dart';
|
||||||
@ -30,13 +32,33 @@ abstract class RenderToggleable extends RenderConstrainedBox {
|
|||||||
}
|
}
|
||||||
|
|
||||||
EventDisposition handleEvent(sky.Event event, BoxHitTestEntry entry) {
|
EventDisposition handleEvent(sky.Event event, BoxHitTestEntry entry) {
|
||||||
if (event is sky.GestureEvent && event.type == 'gesturetap') {
|
if (event.type == 'pointerdown') {
|
||||||
_onChanged(!_value);
|
_tap.addPointer(event);
|
||||||
return EventDisposition.consumed;
|
return EventDisposition.processed;
|
||||||
}
|
}
|
||||||
return EventDisposition.ignored;
|
return EventDisposition.ignored;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TapGestureRecognizer _tap;
|
||||||
|
|
||||||
|
void attach() {
|
||||||
|
super.attach();
|
||||||
|
_tap = new TapGestureRecognizer(
|
||||||
|
router: SkyBinding.instance.pointerRouter,
|
||||||
|
onTap: _handleTap
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void detatch() {
|
||||||
|
_tap.dispose();
|
||||||
|
_tap = null;
|
||||||
|
super.detach();
|
||||||
|
}
|
||||||
|
|
||||||
|
void _handleTap() {
|
||||||
|
_onChanged(!_value);
|
||||||
|
}
|
||||||
|
|
||||||
bool _value;
|
bool _value;
|
||||||
bool get value => _value;
|
bool get value => _value;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user