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_dark.qss | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'ui/style_dark.qss') diff --git a/ui/style_dark.qss b/ui/style_dark.qss index 2c24d1c..e562365 100644 --- a/ui/style_dark.qss +++ b/ui/style_dark.qss @@ -563,3 +563,43 @@ QFrame#controlWidgetWrapper { background: transparent; border: none; } + +/* ── Layout canvas ───────────────────────────────────────────────── */ +QWidget#layoutCanvasBar { + background-color: #0f1521; + border-bottom: 1px solid #1c2540; +} +QLabel#layoutCanvasLabel { + font-family: "IBM Plex Mono", monospace; + font-size: 10px; + font-weight: 700; + letter-spacing: 2px; + color: #4338ca; + padding: 0 2px; +} +QFrame#layoutCanvasWidget { + background-color: #0b0e13; + border: 1px solid #2a3558; + border-radius: 4px; +} +QFrame#layoutTile { + background-color: #1c2540; + border: 1px solid #2a3558; + border-radius: 5px; +} +QFrame#layoutTile:hover { + border-color: #4338ca; + background-color: #212c52; +} +QFrame#layoutTileDragging { + background-color: #1e3a5f; + border: 2px solid #3b82f6; + border-radius: 5px; +} +QLabel#layoutTileLabel { + font-family: "IBM Plex Mono", monospace; + font-size: 11px; + font-weight: 700; + color: #8b9dc3; + background: transparent; +} -- cgit v1.2.3