FR: MouseCursor for expanding row

This commit is contained in:
Naughtz 2022-08-08 11:59:07 +08:00
parent 25226bf26b
commit 79d19eba87
2 changed files with 17 additions and 10 deletions
frontend/app_flowy
lib/workspace/presentation/plugins/grid/src/widgets/header
packages/flowy_infra_ui/lib/style_widget

View File

@ -115,12 +115,17 @@ class _DragToExpandLine extends StatelessWidget {
child: GestureDetector( child: GestureDetector(
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
onHorizontalDragUpdate: (value) { onHorizontalDragUpdate: (value) {
context.read<FieldCellBloc>().add(FieldCellEvent.startUpdateWidth(value.delta.dx)); context
.read<FieldCellBloc>()
.add(FieldCellEvent.startUpdateWidth(value.delta.dx));
}, },
onHorizontalDragEnd: (end) { onHorizontalDragEnd: (end) {
context.read<FieldCellBloc>().add(const FieldCellEvent.endUpdateWidth()); context
.read<FieldCellBloc>()
.add(const FieldCellEvent.endUpdateWidth());
}, },
child: FlowyHover( child: FlowyHover(
cursor: SystemMouseCursors.resizeLeftRight,
style: HoverStyle( style: HoverStyle(
hoverColor: theme.main1, hoverColor: theme.main1,
borderRadius: BorderRadius.zero, borderRadius: BorderRadius.zero,

View File

@ -9,14 +9,16 @@ class FlowyHover extends StatefulWidget {
final HoverBuilder? builder; final HoverBuilder? builder;
final Widget? child; final Widget? child;
final bool Function()? setSelected; final bool Function()? setSelected;
final MouseCursor? cursor;
const FlowyHover({ const FlowyHover(
Key? key, {Key? key,
this.builder, this.builder,
this.child, this.child,
required this.style, required this.style,
this.setSelected, this.setSelected,
}) : super(key: key); this.cursor})
: super(key: key);
@override @override
State<FlowyHover> createState() => _FlowyHoverState(); State<FlowyHover> createState() => _FlowyHoverState();
@ -28,7 +30,7 @@ class _FlowyHoverState extends State<FlowyHover> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MouseRegion( return MouseRegion(
cursor: SystemMouseCursors.click, cursor: widget.cursor != null ? widget.cursor! : SystemMouseCursors.click,
opaque: false, opaque: false,
onEnter: (p) => setState(() => _onHover = true), onEnter: (p) => setState(() => _onHover = true),
onExit: (p) => setState(() => _onHover = false), onExit: (p) => setState(() => _onHover = false),