From 7b926faab3dcd52e45fc1b4b24f955a4dcf66959 Mon Sep 17 00:00:00 2001 From: Christian Kolset Date: Wed, 3 Jun 2026 15:05:36 -0600 Subject: Add drag-and-snap tiling layout canvas to Plot Builder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace layout radio buttons (Stacked/Side-by-Side/Grid) with a visual LayoutCanvas widget. Pane tiles snap to grid cells on drag-drop; dropping on an occupied cell swaps positions. Ghost highlight shows snap target during drag. - PaneSpec gains row/col fields (None = unassigned; backward compat preserved) - LayoutConfig gains "free" mode; strip_chart reads explicit positions - PaneBlock loses ▲▼ move buttons; reordering is canvas-only - QSS entries added for layoutTile, layoutTileDragging, layoutCanvasBar Co-Authored-By: Claude Sonnet 4.6 --- ui/style_light.qss | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ui/style_light.qss') diff --git a/ui/style_light.qss b/ui/style_light.qss index 38b91f8..e0a1987 100644 --- a/ui/style_light.qss +++ b/ui/style_light.qss @@ -124,3 +124,11 @@ QMenu#profileMenu { background:#ffffff; border:1px solid #e2e8f0; border-radius: QMenu#profileMenu::item { padding:7px 20px; color:#334155; } QMenu#profileMenu::item:selected { background:#dbeafe; color:#1d4ed8; } QMenu#profileMenu::separator { height:1px; background:#e2e8f0; margin:3px 8px; } +/* Layout canvas */ +QWidget#layoutCanvasBar { background-color:#f8fafc; border-bottom:1px solid #e2e8f0; } +QLabel#layoutCanvasLabel { font-family:"IBM Plex Mono",monospace; font-size:10px; font-weight:700; letter-spacing:2px; color:#4338ca; } +QFrame#layoutCanvasWidget { background-color:#f1f5f9; border:1px solid #cbd5e1; border-radius:4px; } +QFrame#layoutTile { background-color:#e2e8f0; border:1px solid #94a3b8; border-radius:5px; } +QFrame#layoutTile:hover { border-color:#4338ca; background-color:#c7d2fe; } +QFrame#layoutTileDragging { background-color:#bfdbfe; border:2px solid #3b82f6; border-radius:5px; } +QLabel#layoutTileLabel { font-family:"IBM Plex Mono",monospace; font-size:11px; font-weight:700; color:#334155; background:transparent; } -- cgit v1.2.3