float the selection panel over the game world instead of a side column
Implements REQ-UI-SELECTION-PANEL and the full-width REQ-UI-WORLD-SIZE / REQ-UI-HEADER: MainWindow drops the 25% side column and its 75/25 math, so the header bar and world view span the window, and the panel joins the build button bar as a widget floating over the world. The panel follows the bar's pattern -- an opaque sibling built after the world view, so it sits above the vignettes, below the dim overlay, and swallows the mouse events that would otherwise reach the world. It sizes itself to its content within a band the window hands it (the world view less the bar's strip, so the bar never has to move for it), right-aligned and centered in that band, and scrolls once the content outgrows it. Its content moved into a scroll area for that; the width is capped at 320 px because the wrapped labels and the splitter filter lists have no natural width of their own. With nothing selected the panel now hides entirely rather than showing an empty box (REQ-UI-EMPTY-SELECTION). Two defects that content sizing exposed: buildEmpty() left the selected ids behind when the building vanished under the panel, which would have held an empty panel on screen, and buildMulti() let a shipyard's layout preview survive from a previous single selection (REQ-UI-MULTI-SELECTION). Renames SelectedBuildingPanel to SelectionPanel throughout, matching the requirements: the panel has long shown ships, stations, and debris too. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JcReq7hVk4KUPhTDKWAG7K
This commit is contained in:
@@ -51,6 +51,11 @@ public:
|
||||
// re-center later driven by an unlock needs no second call from the owner.
|
||||
void anchorTo(const QRect& worldViewRect);
|
||||
|
||||
// Height of the strip the bar occupies along the bottom of the world view: its own
|
||||
// height plus the margin below it. The selection panel keeps out of this strip, and
|
||||
// the bar never moves for the panel in return (REQ-UI-BUILD-BAR).
|
||||
int getStripHeightPx() const;
|
||||
|
||||
void clearActiveButton();
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user