feat(editor): tab-aware action strip + simpler tap handling
Reposition the per-tab action buttons under the TabBar so the operator's eye flows TabBar → context buttons → canvas. Graph keeps Add-Step + Save + Run, Text trims to Save + Run, Run hides them entirely (the Run tab has its own start button). Drop the outer wrapping GestureDetector that competed with the inner Positioned.fill detector inside the canvas Stack — two TapGestureRecognizers in the same arena meant the inner one sometimes lost edge-tap and background-tap. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
59aa8fe78e
commit
73736769a0
3 changed files with 106 additions and 69 deletions
|
|
@ -429,26 +429,6 @@ class _FlowCanvasState extends State<FlowCanvas>
|
|||
: BoxDecoration(color: theme.colorScheme.surface),
|
||||
child: Stack(
|
||||
children: [
|
||||
// Outer-most tap layer — catches clicks on the
|
||||
// dark area OUTSIDE the canvas grid (when the
|
||||
// operator has panned / zoomed so the grid
|
||||
// doesn't fill the viewport). Translucent so
|
||||
// InteractiveViewer below still handles pan +
|
||||
// zoom; the gesture arena gives the tap to
|
||||
// whichever child claims it first, and on
|
||||
// canvas-empty pointers nobody else does.
|
||||
Positioned.fill(
|
||||
child: GestureDetector(
|
||||
behavior: HitTestBehavior.translucent,
|
||||
onTap: () {
|
||||
// Deselect both step + edge so the
|
||||
// properties panel closes when the operator
|
||||
// clicks the empty backdrop.
|
||||
widget.controller.selectStep(null);
|
||||
widget.controller.selectEdge(null);
|
||||
},
|
||||
),
|
||||
),
|
||||
InteractiveViewer(
|
||||
transformationController: _transform,
|
||||
constrained: false,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue